加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何正确显示最高两位小数(美分)的价格,包括Java中的尾随零?

发布时间:2020-05-24 23:39:44 所属栏目:Java 来源:互联网
导读:在 Java here中有一个关于舍入小数的一个很好的问题.但是我想知道如何在我的程序中包含尾随零来显示价格:$1.50,$1.00 简单的解决方案 String.format(%.2g%n, 0.912385); 工作正常,但如果它在最后一个小数位,则省略尾随零.虽然我只使用这样的表达式,但我的程

在 Java here中有一个关于舍入小数的一个很好的问题.但是我想知道如何在我的程序中包含尾随零来显示价格:$1.50,$1.00

简单的解决方案

String.format("%.2g%n",0.912385);

工作正常,但如果它在最后一个小数位,则省略尾随零.虽然我只使用这样的表达式,但我的程序出现了这个问题:

double price = 1.50;

当我使用不同的价格(添加,乘法等)进行计算时,结果主要显示如下:

$2.5000000000000003

因此,使用String.format可以正常工作,但它会将上面的示例截断为

$2.5

是否有正确的方法在小数点后第二位显示尾随零?如果计算的输出应该是,则两者都为零

$2.00

解决方法

我建议你这样做:
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
double price = 2.50000000000003;
System.out.println(currencyFormatter.format(price));

这具有特定于语言环境的优点.例如,如果您在欧元区而不是美国,这将有效.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读