gpt4 book ai didi

Java:以百万为单位的格式数字

转载 作者:bug小助手 更新时间:2023-10-28 10:47:31 27 4
gpt4 key购买 nike

有没有办法使用 DecimalFormat(或其他一些标准格式化程序)来像这样格式化数字:

1,000,000 => 1.00M

1,234,567 => 1.23M

1,234,567,890 => 1234.57M

基本上将某个数字除以 100 万,保留 2 个小数位,并在末尾打一个“M”。我考虑过创建一个新的 NumberFormat 子类,但它看起来比我想象的要复杂。

我正在编写一个具有如下格式方法的 API:

public String format(double value, Unit unit); // Unit is an enum

在内部,我将 Unit 对象映射到 NumberFormatters。实现是这样的:

public String format(double value, Unit unit)
{
NumberFormatter formatter = formatters.get(unit);
return formatter.format(value);
}

请注意,正因为如此,我不能指望客户端除以 100 万,而且我不能只使用 String.format() 而不将其包装在 NumberFormatter 中。

最佳答案

String.format("%.2fM", theNumber/ 1000000.0);

有关详细信息,请参阅 String.format javadocs .

关于Java:以百万为单位的格式数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/529432/

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