简体   繁体   English

Java 如何将 groupingSize() 与 NumberFormat 一起使用

[英]Java How to use groupingSize() with NumberFormat

I am trying to use DecimalFormat.groupingSize() functionality with NumberFormat class, as I need to have grouping size based on Country like 1,2345,6789 for China, 1,234,567 for Canada or 1,23,450 for India.我正在尝试将DecimalFormat.groupingSize()功能与NumberFormat class 一起使用,因为我需要根据国家/地区分组大小,例如中国为 1,2345,6789,加拿大为 1,234,567,印度为 1,23,450。 I've tried looking for solutions but the solutions are based on DecimalForamt .我试过寻找解决方案,但解决方案是基于DecimalForamt的。 Is there any way we can use NumberFormat to resolve this challenge?有什么方法可以使用NumberFormat来解决这个难题吗?

DecimalFormat does not allow variable grouping size. DecimalFormat 不允许可变分组大小。

For variable grouping size, use Icu4J's DecimalFormat对于可变分组大小,请使用Icu4J 的 DecimalFormat

    com.ibm.icu.text.DecimalFormatSymbols dfs = new com.ibm.icu.text.DecimalFormatSymbols();
    dfs.setGroupingSeparator(' ');
    com.ibm.icu.text.DecimalFormat df = new com.ibm.icu.text.DecimalFormat("0,00,000", dfs); // indian numbering system
    String s1 = df.format(500000); // 5,00,000
    String s2 = df.format(121212123); // 12,12,12,123
    String s3 = df.format(new com.ibm.icu.math.BigDecimal("67890000000000")); // 6,78,90,00,00,00,000 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM