gpt4 book ai didi

java - 如何以安全的方式将 Double 从 1234567 格式化为 1 234.567

转载 作者:行者123 更新时间:2023-11-29 08:02:45 24 4
gpt4 key购买 nike

标题中的所有内容..,我正在寻找一种安全的方式来以这种方式格式化所有 Double,还有一些其他示例:

1000 ==> 1.000

1500 ==> 1.500

22000 ==> 22.000

1555005 ==> 1 555.005

我看过this link但没有帮助...

有安全的方法吗?提前致谢

最佳答案

您想打印输入的数字除以千,使用小数点和空格作为千​​位分隔符。安全的方法是先转换为 BigDecimal,按 10-3 缩放,然后使用 DecimalFormat 打印。

final DecimalFormat f = new DecimalFormat("#,###.000");
final DecimalFormatSymbols s = new DecimalFormatSymbols();
s.setGroupingSeparator(' ');
s.setDecimalSeparator('.');
f.setDecimalFormatSymbols(s);
final double input = 1_555_005;
final BigDecimal x = new BigDecimal(input).scaleByPowerOfTen(-3);
System.out.println(f.format(x));

打印

1 555.005

请注意,像此处那样显式设置分组/小数分隔符不是执行此操作的正统方法:通常您会让 Locale 设置指定数字格式。

关于java - 如何以安全的方式将 Double 从 1234567 格式化为 1 234.567,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13433657/

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