首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java String.format两个小数位,点为千分配器,逗号为十进制分隔符。

Java String.format两个小数位,点为千分配器,逗号为十进制分隔符。
EN

Stack Overflow用户
提问于 2019-05-26 09:49:01
回答 1查看 50关注 0票数 0

我需要用精确到十进制的位来格式化浮点数“。如千分频器和",“为十进制分配器,如下:"1.234,56”

我试过String.format("%,f", myFloat),但是它给了我太多的小数位,比如:“1.15万”。而且,String.format("%,2f", myFloat)也没有工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-26 09:56:49

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

代码语言:javascript
复制
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);

产出如下:

代码语言:javascript
复制
12.344,12

编辑

对于固定小数位,请尝试如下:

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56312427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档