读书人

double的小数有关问题

发布时间: 2013-04-12 18:33:11 作者: rapoo

double的小数问题
如果是 1/6 就是保留两位小数输入 0.17
1/10 就是原样输入 0.1
1/0 就是0.0



不知道怎么弄 求解答 double 小数
[解决办法]


public double getResult(double a,double b){
if(b==0)
return 0;
String rStr = a/b+"";
int pointIdx = rStr.indexOf(".");
if(pointIdx>0 && (pointIdx+2)<rStr.length()){
double ret = Double.parseDouble(rStr.substring(0,pointIdx+3));
return Integer.parseInt(rStr.substring(pointIdx+3,pointIdx+4))<5?ret:ret+0.01;
}
return a/b;
}

[解决办法]
楼上正解....................
[解决办法]
DecimalFormat df = new DecimalFormat("#.##");
System.out.println(df.format(1/6.0));
System.out.println(df.format(1/10.0));
前2个可以通过上面的方法获取 第3个会抛异常 只能自己写方法判断 比如2楼写的

读书人网 >J2SE开发

热点推荐