如何在数字中插入逗号?
How to insert commas into a number?
我在一本书中找到了这样一个使用String.format()
的例子:
package stringFormat;
public class Main {
public static void main(String[] args) {
String test = String.format("%, d", 1000000000);
System.out.println(test);
}
}
根据本书的输出应该是:1,000,000,000
。但是当我 运行 代码时,我只得到 1 000 000 000
没有逗号。为什么?我怎样才能用逗号得到它?
重现 Locale.FRANCE
的问题:
Locale.setDefault(Locale.FRANCE);
String test = String.format("%, d", 1000000000);
System.out.println(test); // 1 000 000 000
您可以通过 Locale.US
:
避免这种情况
String test = String.format(Locale.US, "%, d", 1000000000);
or
Locale.setDefault(Locale.US);
String test = String.format("%, d", 1000000000);
您可以在 link 中阅读 Java 中的格式:
https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
对于你的问题,你可以修复:
public static void main(String[] args) {
String s = "1000000000";
System.out.format("%,"+s.length()+"d%n", Long.parseLong(s));
}
希望对您有所帮助!
我在一本书中找到了这样一个使用String.format()
的例子:
package stringFormat;
public class Main {
public static void main(String[] args) {
String test = String.format("%, d", 1000000000);
System.out.println(test);
}
}
根据本书的输出应该是:1,000,000,000
。但是当我 运行 代码时,我只得到 1 000 000 000
没有逗号。为什么?我怎样才能用逗号得到它?
重现 Locale.FRANCE
的问题:
Locale.setDefault(Locale.FRANCE);
String test = String.format("%, d", 1000000000);
System.out.println(test); // 1 000 000 000
您可以通过 Locale.US
:
String test = String.format(Locale.US, "%, d", 1000000000);
or
Locale.setDefault(Locale.US);
String test = String.format("%, d", 1000000000);
您可以在 link 中阅读 Java 中的格式: https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
对于你的问题,你可以修复:
public static void main(String[] args) {
String s = "1000000000";
System.out.format("%,"+s.length()+"d%n", Long.parseLong(s));
}
希望对您有所帮助!