我发现了一本书中使用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
而没有逗号。为什么?我怎么用逗号?
答案 0 :(得分:3)
重现tensorflow
的问题:
tf.nn.embedding_lookup(emb_variable, x)
您可以使用Locale.FRANCE
避免这种情况:
Locale.setDefault(Locale.FRANCE);
String test = String.format("%, d", 1000000000);
System.out.println(test); // 1 000 000 000
答案 1 :(得分:1)
您可以在链接中了解有关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));
}
希望对您有所帮助!