【发布时间】:2013-01-07 18:16:30
【问题描述】:
我正在尝试在 Java 1.6 中调试涉及 DecimalFormat#applyPattern(String) 的问题。默认的语言环境是法语,所以默认的小数点分隔符是','。但是,该模式指定应用“。”到它似乎没有的十进制格式实例。我试图调试到applyPattern(),但看不到变量值。我不太熟悉模式和正则表达式,所以我不确定问题是模式还是其他问题。是模式不正确还是代码有其他问题?
这里是sn-p的代码:
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));
【问题讨论】:
-
怎么了?是因为它失败的模式吗?
-
编辑问题而不是评论以添加问题。
标签: java internationalization decimalformat