言語自体を変更することはできません。コード内では、double
の値を宣言する場合は常に小数点を書く必要があります。
しかし、アプリケーションのユーザが見ることを得る表示装置で、例えば、代わりに点のカンマで値を出力する複数の方法があります。
ユーザーはドイツにある場合、それはカンマを印刷する必要があります例えばそこであなたは常に、現在のロケール形式を使用する必要があります。 Javaライブラリには、How to format double value for a given locale and number of decimal places?やofficial tutorial by Oracleのような自動化されたプロセスがあります。
Locale currentLocale = ...
NumberFormat numberFormatter = NumberFormat.getNumberInstance(currentLocale);
double value = 2.5;
String formattedValue = numberFormatter.format(value);
System.out.println("Formatted value is: " + value);
出力は、今あなたがcurrentLocale
に設定されたものに応じて変更します。使用する
クラスはNumberFormat
またはDecimalFormat
あり、ここで小さな例です。現在のロケールはLocale.getDefault()
で得ることができますが、例えばで定義されている定数をLocale.GERMANY
のように定義して、異なる地域のロケールを直接選択することもできます。
小数点のパターンを適用して、1.004,34
のような数字を作成することもできます。パターンは、したがって、#,##0.00
であり、この方法を使用することができます。
フォーマットパターンで
String pattern = "#,##0.00";
DecimalFormat decimalFormatter = (DecimalFormat) numberFormatter; // The one from above
decimalFormatter.applyPattern(pattern);
String formattedValue = decimalFormatter.format(value);
あなたはまた、単にパターンに追加し、€
シンボルを追加することができます。
小数点とカンマはプレゼンテーションの問題です。コードは依然として小数点を使用する必要があります。しかし、値を出力する場合は、必要に応じてフォーマットすることができます。 – Jason
コード自体で、または文字列として?コード自体については、値の一部としてコンマや通貨記号を使用することはできません。 – Carcigenicate
あなたはコンマが必要な場合は、代わりに 'String'を使用してください –