java 保留小数点4位,不足时用0补足

例如:doubleb=96.6;处理后:要得到Doubleb=96.6000;类型一定要是Double型,且结果为96.6000Doubleb=96.612345,这种的... 例如:double b = 96.6;
处理后:要得到 Double b = 96.6000; 类型一定要是Double型,且结果为96.6000
Double b =96.612345,这种的我自己会,取小数点后4位,问题在于 小数点后不超过4位时,如何用0取
展开
 我来答
jamxval
推荐于2017-11-26 · TA获得超过6821个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1373万
展开全部
Double 似乎不会记住当时有多少个 scale,而 BigDecimal 就会记住。所以这个 96.6000 跟 96.6 是一样的,不能区分出来,任何计算都可能把它转换成 96.6, 所以你还想要后面跟着几个占位的0就麻烦了。

如果是用 java.math.BigDecimal 就没有这个问题,它始终能记得需要几个小数位。如果你只是需要在转换成字符串时补齐4个位就容易了。
System.out.println("Double :" + new DecimalFormat("#,##0.0000").format(new Double("96.00000")));
追问
我知到可以这样,new DecimalFormat("#,##0.0000").format(new Double("96.00000")));  返回的是String,,我最终把它转换为Double就又回到了96.6,我是传值的时候需要传一个小数点后有4位的。我要传的值是Double型,我不能给一个String啊
追答
因为 Double 不会记住保留几个小数位,只是看有尾数就保留,没有的位置就去掉,所以用 Double 做不到这点,再说了用 Double 类型本身就不是一个好主意。一般数字运算应该用 BigDecimal ,大数字用 BigInteger 等。
TJZXQT
2017-08-28
知道答主
回答量:19
采纳率:0%
帮助的人:1.4万
展开全部
DecimalFormat df=new DecimalFormat("##0.00");
String num = "34";
String strNum = df.format(Double.parseDouble(num));

得出的结果 是 strNum = 34.00 ,语言 是用的java
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式