2
フランス語で書式化されたNumberのDouble-Valueを取得しようとしています。 したがって、テキスト1 003,25は値(1003.25)として保存する必要があります。フランス語で書かれたフランス語の数値を取得する方法
public class NumberFormatTest {
public static void main(String[] args) throws ParseException {
String db = "1003.25";
String manualFRA = "1 003,25";
double numberDB = Double.parseDouble(db);
String ger = NumberFormat.getInstance(Locale.GERMAN).format(numberDB);
String fra = NumberFormat.getInstance(Locale.FRENCH).format(numberDB);
String eng = NumberFormat.getInstance(Locale.ENGLISH).format(numberDB);
double gerD = NumberFormat.getNumberInstance(Locale.GERMAN).parse(ger).doubleValue();
double fraD = NumberFormat.getNumberInstance(Locale.FRENCH).parse(fra).doubleValue();
double mfraD = NumberFormat.getNumberInstance(Locale.FRENCH).parse(manualFRA).doubleValue();
double engD = NumberFormat.getNumberInstance(Locale.ENGLISH).parse(eng).doubleValue();
System.out.println("From database: " + db);
System.out.println("\tGerman: " + ger);
System.out.println("\tFrench: " + fra);
System.out.println("\tEnglish: " + eng);
System.out.println("\nTo Database: ");
System.out.println("\tfrom German: "+ gerD);
System.out.println("\tfrom French: "+ fraD);
System.out.println("\tfrom manual French: "+ mfraD);
System.out.println("\tfrom Englisch: "+ engD);
}
}
From database: 1003.25
\t German: 1.003,25
\t French: 1 003,25
\t English: 1,003.25
To Database:
\t from German: 1003.25
\t from French: 1003.25
\t from manual French: 1.0
\t from Englisch: 1003.25
マニュアルフランスの値が1.0とではない1003.25である理由誰もが、アイデアを持っていますか? どうすれば解決できますか?実際のプログラムでは、値はTextFieldのStringとして返されます。
ご協力いただきありがとうございます。
ありがとうございました!時には答えがとても簡単です.... :-) – Taros