【问题标题】:How can I get the Double.toString() behaviour AND thousands separator?如何获得 Double.toString() 行为和千位分隔符?
【发布时间】:2010-08-31 03:12:56
【问题描述】:

我想将千位分隔符添加到double 类型的变量中。我试过使用String.format("%,f", x); 和类似的,但它似乎有固定的小数位数,不像Double.toString()

例如,值为1234.5:

Double.toString(): 1234.5
String.format(): 1.234,500000
期望值:1.234,5

【问题讨论】:

    标签: java format double separator


    【解决方案1】:

    NumberFormat 类知道用于用户区域设置的小数分隔符。

    NumberFormat formatter = NumberFormat.getInstance();
    String formattedDouble = formatter.format(1234.5);
    

    如果小数位数过多,您可以使用setMaximumFractionDigits 方法。

    【讨论】:

    • 谢谢,NumberFormat 不能完美运行,但它的一个子类 DecimalFormat 可以。
    • 对于其他千位和小数分隔符,您可以在NumberFormat.getInstance()中指定区域设置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多