为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

绝地无双 2022-12-15 11:14:36
我需要格式化一个精确到小数位的浮点数,“。” 作为千位分隔符和“,”作为小数点分隔符,如下所示:“1.234,56”我试过String.format("%,f", myFloat)了,但它给了我太多的小数位,就像这样:“1.150,000000”。另外,String.format("%,2f", myFloat)也没有用。
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

您可以尝试使用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);


查看完整回答
反对 回复 2022-12-15
  • 1 回答
  • 0 关注
  • 372 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号