关于转换小数点的问题

kourr2004 2008-01-04 10:26:47
String dd=String.valueOf(new BigDecimal(50000).movePointLeft(2).doubleValue());
System.out.println("dd="+dd);
--结果:500.0

String dd=String.valueOf(new BigDecimal(50023).movePointLeft(2).doubleValue());
System.out.println("dd="+dd);
--结果:500.23

我现在想把500.0输出成500.00,也就是小数点后都要保留2位小数.
...全文
122 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kourr2004 2008-01-04
  • 打赏
  • 举报
回复
谢谢大家^_^
吐司vivi 2008-01-04
  • 打赏
  • 举报
回复
String ss= "12.5";
DecimalFormat df = new DecimalFormat("##.00");

System.out.println(">>>>>>>>>>"+df.format(Double.parseDouble(ss)));
YeLang2007 2008-01-04
  • 打赏
  • 举报
回复

呵呵...来迟了...

一楼只对小数点后有两位的好用,但是只有一位或者有三位就不好用了,楼主可能只要两,多了不行也一个不能少!

二楼正解.

只能来接分了...

YeLang2007 2008-01-04
  • 打赏
  • 举报
回复

帮你顶一下...
zjyilwt 2008-01-04
  • 打赏
  • 举报
回复
用BigDecimal对象的divide方法可以实现保留小数
你只需这样写:
BigDecimal b1 = new BigDecimal(50000).movePointLeft(2);
String dd = String.valueOf(b1.divide(new BigDecimal(1), 2));
System.out.println("dd=" + dd);
出来的就是500.00了
  • 打赏
  • 举报
回复
如果你使用的是JDK 1.5,改为:
String dd = String.format("%.2f", new BigDecimal(50000).movePointLeft(2).doubleValue());
System.out.println("dd="+dd);


JDK 1.5以下的版本改为:
import java.text.DecimalFormat;

DecimalFormat dec = new DecimalFormat("0.00");
String dd = dec.format("%.2f", new BigDecimal(50000).movePointLeft(2).doubleValue());
System.out.println("dd=" + dd);
tanlingyun 2008-01-04
  • 打赏
  • 举报
回复
String dd=new BigDecimal(50000).movePointLeft(2).toString();
System.out.println("dd="+dd);

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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