gpt4 book ai didi

java - 将 double 值格式化为 2 个小数点并在 Java 中获取逗号分隔的货币格式

转载 作者:行者123 更新时间:2023-11-29 10:00:12 26 4
gpt4 key购买 nike

我正在做一个项目,我必须按以下格式显示价格。

250  -> 250.00
2500 -> 2,500.00
260500.33 -> 260,500.33

我虽然遵循以下方法可以使这项工作有效,但它不起作用。

    double price = 2500;
DecimalFormat df = new DecimalFormat("#.00");

String format1 = df.format(price);
System.out.println(format1); //250.00

String format2 = NumberFormat.getNumberInstance(Locale.US).format(format1);// Exception "Cannot format given Object as a Number"
System.out.println(format2); //excepted 2,500.00

我做错了什么?

最佳答案

DecimalFormatNumberFormat 对象希望它们的对象格式化为某种数字,而不是像 format1 这样的字符串,因此 code>IllegalArgumentException 被抛出。

您将已格式化的字符串 format1 传递给 format 而不是数字。将 price 传递给 format,就像您第一次调用它时所做的那样。

但是美国地区 NumberFormat 不会给你小数点后的任何数字;你会看到打印出 2,500。如果您想要这 2 个十进制数字,您可以明确指定该格式,类似于您构造 df 的方式。

String format2 = new DecimalFormat("#,###.00").format(price);

关于java - 将 double 值格式化为 2 个小数点并在 Java 中获取逗号分隔的货币格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com