小子初学,基础较差.....
看毕老师视频的时候看到Math那里最后留了一个题。
题为:给定一个小数,如何获取后两位。
然后我自己编时,理解发生歧义:是获取小数点后两位还是获取该小数的最后两位呢?
第一个获取小数点后两位好说得多,我自己可以想到两种。。。
自己查可以知道有四种方法:
一
Long是长整型,怎么有小数,是double吧
java.text.DecimalFormat df=new java.text.DecimalFormat("#.##");
double d=3.14159;
System.out.println(df.format(d));
二
java.math.BigDecimal
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
三
class Test1{
public static void main(String[] args){
double ret = convert(3.14159);
System.out.println(ret);
}
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
}
四
double d = 13.4324;
d=((int)(d*100))/100;
但是如何获取小数的最后两位呢?
可以转换为字符串进行截取,但是截取之后这两个数处的位数也很难弄....
求大神给思路...................
|