我不明白NumberFormat中的某些東西,它在美國語言環境中假設將逗號(「,」)作爲組分隔符處理 - 數以千計。Java NumberFormat忽略美國語言環境中的逗號?
它爲什麼忽略逗號在這個區域設置的錯誤位置?
NumberFormat format = DecimalFormat.getInstance(Locale.US);
System.out.println(format.parse("5,500").longValue()); //5500
System.out.println(format.parse("550,0").longValue()); //5500
System.out.println(format.parse("5500,").longValue()); //5500
任何其他的想法如何根據區域解析串地龍(asumming的是輸入「」不正確的地方的區域應該失敗 )?
當你說*不正確的地方*時,你是什麼意思?你的例子中的所有語句都是有效的。 – 2013-04-04 11:18:42
試試'format.setGroupingUsed(true)'。這有什麼不同嗎? – Puce 2013-04-04 11:24:25
@Puce:'Locale.US'默認爲'true'。 – Keppil 2013-04-04 11:34:58