我試圖在Java 1.6中調試涉及DecimalFormat#applyPattern(String)
的問題。默認語言環境是法語,所以默認情況下小數點分隔符是','。但是,該模式指定應用'。'到似乎不是的十進制格式實例。我試圖調試到applyPattern()
,但看不到變量值。我並不十分熟悉模式和reg-ex,所以我不確定問題是出在模式還是其他方面。它是不正確的模式還是代碼存在其他問題?Java中的DecimalFormat應用模式不覆蓋區域設置
這裏是代碼片段:
public class DecimalFormatTester
{
static private final DecimalFormat doubleFormat = (DecimalFormat) NumberFormat.getInstance();
static
{
doubleFormat.applyPattern("############.00");
}
public static String toString(double value)
{
synchronized (doubleFormat)
{
return doubleFormat.format(value);
}
}
}
這裏是Junit
代碼採樣線,其失敗:
assertEquals("String values aren't equal", "2179005635.00", DecimalFormatTester.toString(2.179005635E9));
和問題是什麼? –
什麼是錯的?它是由於它失敗的模式嗎? –
編輯一個問題而不是評論添加問題。 –