猿问

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

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

我试过String.format("%,f", myFloat)了,但它给了我太多的小数位,就像这样:“1.150,000000”。另外,String.format("%,2f", myFloat)也没有用。


绝地无双
浏览 373回答 1
1回答

米脂

您可以尝试使用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);
随时随地看视频慕课网APP

相关分类

Java
我要回答