String.format
を使用してDoubleを整数部と小数部の間にドットを含む文字列にフォーマットするにはどうすればよいですか?
String s = String.format("%.2f", price);
上記の形式は、コンマ "、"のみでフォーマットされます。
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 ...
これに基づいて 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
に基づいてドットとコンマを使用できます
ケビン・ファン・ミールロのコメントのおかげで、回答が編集および修正されました