如果是 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楼写的