我需要用精确到十进制的位来格式化浮点数“。如千分频器和",“为十进制分配器,如下:"1.234,56”
我试过String.format("%,f", myFloat),但是它给了我太多的小数位,比如:“1.15万”。而且,String.format("%,2f", myFloat)也没有工作。
发布于 2019-05-26 09:56:49
您可以尝试使用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);https://stackoverflow.com/questions/56312427
复制相似问题