如何格式化双点?

时间:2011-03-03 15:01:01

标签: java string format double

如何将带有String.format的Double格式化为整数和小数部分之间的点?

String s = String.format("%.2f", price);

以上格式仅使用逗号:“,”。

3 个答案:

答案 0 :(得分:94)

String.format(String, Object ...)正在使用您的JVM默认语言环境。您可以直接使用String.format(Locale, String, Object ...)java.util.Formatter使用任何区域设置。

String s = String.format(Locale.US, "%.2f", price);

String s = new Formatter(Locale.US).format("%.2f", price);

// do this at application startup, e.g. in your main() method
Locale.setDefault(Locale.US);

// now you can use String.format(..) as you did before
String s = String.format("%.2f", price);

// set locale using system properties at JVM startup
java -Duser.language=en -Duser.region=US ...

答案 1 :(得分:1)

根据此post,你可以这样做,它适用于Android 7.0

import java.text.DecimalFormat
import java.text.DecimalFormatSymbols

DecimalFormat df = new DecimalFormat("#,##0.00");
df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.ITALY));
System.out.println(df.format(yourNumber)); //will output 123.456,78

这样您就可以根据Locale

添加点和逗号

通过Kevin van Mierlo评论

编辑并修复了答案

答案 2 :(得分:-2)

如果它与PHP和C#中的相同,则可能需要以某种方式设置您的语言环境。可能会在Java Internationalization FAQ中找到更多相关信息。