gpt4 book ai didi

Java String.format 两位小数,以点作为千位分隔符,以逗号作为小数分隔符

转载 作者:行者123 更新时间:2023-12-02 09:51:16 24 4
gpt4 key购买 nike

我需要格式化一个精确到小数位的 float “。”作为千位分隔符,“,”作为小数分隔符,如下所示:“1.234,56”

我尝试过String.format("%,f", myFloat),但它给了我太多的小数位,如下所示:“1.150,000000”。另外,String.format("%,2f", myFloat)也不起作用。

最佳答案

您可以尝试使用DecimalFormat类来根据您的意愿格式化您的数字:

float number = 12344.12f;

DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator('.');
symbols.setDecimalSeparator(','); // to be sure it is ','

DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setDecimalFormatSymbols(symbols);
decimalFormat.setMaximumFractionDigits(2);

String format = decimalFormat.format(number);

System.out.println(format);

输出是:

12.344,12

编辑

对于固定小数位数,请尝试以下操作:

DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator('.');
symbols.setDecimalSeparator(','); // to be sure it is ','

DecimalFormat decimalFormat = new DecimalFormat("#.###.00");
decimalFormat.setDecimalFormatSymbols(symbols);

String format = decimalFormat.format(number);

关于Java String.format 两位小数,以点作为千位分隔符,以逗号作为小数分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56312427/

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