代碼:-((DecimalFormat)DecimalFormat.getInstance(new Locale("en","US"))).parse("0.5")輸出:0.5代碼 :-((DecimalFormat)DecimalFormat.getInstance(new Locale("es","CN"))).parse("0.5")輸出:5我正在使用DecimalFormat將字符串格式化為數(shù)字,但它在某種程度上沒(méi)有給出不同區(qū)域設(shè)置的預(yù)期結(jié)果。請(qǐng)幫助我為所有語(yǔ)言環(huán)境獲得相同的輸出。
2 回答

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
您需要為給定的區(qū)域設(shè)置使用正確的小數(shù)分隔符,因此由于西班牙語(yǔ)是逗號(hào),因此您需要有
((DecimalFormat)DecimalFormat.getInstance(new Locale("es","CN"))).parse("0,5")
但當(dāng)然,如果“0.5”是正確的格式,那么您需要將您的區(qū)域設(shè)置更改為與格式匹配的區(qū)域設(shè)置

12345678_0001
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
您在區(qū)域設(shè)置中輸入“es”,因此您將其解析為解析字符串的西班牙語(yǔ)方式。在西班牙語(yǔ)中,小數(shù)點(diǎn)分隔符是逗號(hào)。所以 0.5 就變成了 5。
添加回答
舉報(bào)
0/150
提交
取消