double变量小数位最后为0默认会去除,请问怎样保留?

代码如下:
java.math.BigDecimal bd=new java.math.BigDecimal(String.valueOf(value));
bd=bd.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP);
String str=bd.toString();
double d=bd.doubleValue();

当value=123.4499,decimalPlaces=3时,String str=bd.toString()的值为123.450,double d=bd.doubleValue()的值为123.45,期望的目标值应该是123.450;当value=123.44,decimalPlaces=3时,String str=bd.toString()的值为123.440,double d=bd.doubleValue()的值为123.44,期望的目标值应该是123.440。请问有什么方法可以做到这样子?
[b]问题补充:[/b]
谢谢楼上提供的方法,但我要的是返回double类型的。

1个回答

使用string的format静态方法就可以了
[quote]public static String format(String format,Object... args)
使用指定的格式字符串和参数返回一个格式化字符串。 [/quote]

具体使用方式参考:
[url]http://hi.baidu.com/zilcher_zone/blog/item/343a99f82658a409d9f9fdfe.html[/url]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问