[英]How to convert an integer according to international number system in java (Number Formatting)
我想根据国际号码系统转换给定的号码。 // 例如:
345678 -> 345,678
12 -> 12
123 -> 123
4590 -> 4,590
这是代码片段和IdeOne链接
public static void main (String[] args) throws java.lang.Exception
{
int number = 345678;
String s = Integer.toString(number);
s = putCommas(s);
}
private String putCommas(String s) {
// How to put commas in string after every 3rd character from right ?
}
这是我的方法,我不舒服。
有什么建议么 ?
您可以将NumberFormat
与Locale#US
:
NumberFormat.getNumberInstance(Locale.US).format(number);
或者DecimalFormat
:
DecimalFormat formatter = new DecimalFormat("#,###");
String newNumber = formatter.format(number);
使用NumberFormat
类
http://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.html#getInstance(java.util.Locale)
您可以在区域设置中传递它,然后根据需要format
数字
http://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.html#format(long)
System.out.println (NumberFormat.getNumberInstance(Locale.US).format(1234567L));
您可以使用简单的NumberFormat类 。
NumberFormat numberFormat = NumberFormat.getInstance();
//allows to have number seperated by comma
numberFormat.setGroupingUsed(true);
String formattedNr = numberFormat.format(12345678L);
System.out.println("12345678L number formatted to " + formattedNr);
输出:
12345678L数字格式为12,345,678.00
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.