double的小数问题 如果是 1/6 就是保留两位小数输入 0.17 1/10 就是原样输入 0.1 1/0 就是0.0不知道怎么弄 求解答double小数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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楼写的 关于循环与再次循环的问题。 谁能给一个画菱形网格的算法! java连接mysql的问题! 对于CString对象和引用(课件) 如何使用数据源? 做实验碰到的一个问题,有知道的达人进来帮帮小弟~~ 有java.sql.query这个类吗?? 请问怎样去掉数组中相同的值? 静态方法中可以定义静态变量吗 哪里有JDK1.3 可下载? 求大神指导java精通之门 关于java里的正则表达式--*
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;
}
System.out.println(df.format(1/6.0));
System.out.println(df.format(1/10.0));
前2个可以通过上面的方法获取 第3个会抛异常 只能自己写方法判断 比如2楼写的