求大神帮忙看看

piaolingwuji 2016-07-22 04:08:48
public static void main(String[] args){
System.out.println(getFormatNum("0.000",1.2224));
System.out.println(getFormatNum("0.000",1.2225));
System.out.println(getFormatNum("0.000",1.2226));
System.out.println(getFormatNum("0.000",0.2224));
System.out.println(getFormatNum("0.000",0.2225));
System.out.println(getFormatNum("0.000",0.2226));
System.out.println(getFormatNum("0.000",2.4924));
System.out.println(getFormatNum("0.000",2.4925));
System.out.println(getFormatNum("0.000",2.4926));
}

public static Double getFormatNum(String pattren,Double data){
String reStr = "";
reStr = new java.text.DecimalFormat(pattren).format(data);
return Double.parseDouble(reStr);
}
为什么执行结果会是
1.222
1.222
1.223
0.222
0.223
0.223
2.492
2.493
2.493
当个位为1时并没有按照四舍五入的规则执行
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
reStr = new java.text.DecimalFormat("0").format(data); 结果如下: 1.0 1.0 1.0 0.0 0.0 0.0 2.0 2.0 2.0
再不斩 2016-07-22
  • 打赏
  • 举报
回复
RoundingMode.HALF_UP 我这没问题啊。 刚才输出太多看乱了,现在只保留前三个,没问题。
再不斩 2016-07-22
  • 打赏
  • 举报
回复
有问题。好像全是1.223了。等会儿啊,再研究研究
再不斩 2016-07-22
  • 打赏
  • 举报
回复

	  public static Double getFormatNum(String pattren,Double data){
	    String reStr = "";
	    DecimalFormat df = new DecimalFormat(pattren);
	    df.setRoundingMode(RoundingMode.UP);
	    reStr = df.format(data);    
	    return Double.parseDouble(reStr);
	  }
sorry,参数错了。
piaolingwuji 2016-07-22
  • 打赏
  • 举报
回复
更改后执行:
System.out.println(getFormatNum("0.000",1.2225));
System.out.println(getFormatNum("0.000",0.2225));
System.out.println(getFormatNum("0.000",2.4925));
结果依旧是
1.222
0.223
2.493
是否与我的JDK版本有关?我用的是JDK1.6
再不斩 2016-07-22
  • 打赏
  • 举报
回复

	  public static Double getFormatNum(String pattren,Double data){
	    String reStr = "";
	    DecimalFormat df = new DecimalFormat(pattren);
	    df.setRoundingMode(RoundingMode.HALF_UP);
	    reStr = df.format(data);    
	    return Double.parseDouble(reStr);
	  }

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧