2
我有一个DecimalFormat奇怪的事情。DecimalFormat取决于系统设置?
我在web应用程序中使用它。 我设置了一些测试,并保持与本地失败。 我的一个朋友跑了它,他能够成功地运行JUnit测试。
奇怪的是,在我们的服务器上,应用程序完全运行它,没有任何问题。
难道是Java依赖于系统设置像valuta和数字设置? 或者还有其他原因吗? 这是我的一段代码的样子:
public String generateFormatPrice(double price) throws Exception {
DecimalFormat format1 = new DecimalFormat("#,##0.00");
String tmp = format1.format(price).replace(".", "&");
String[] tmps = tmp.split("&");
return tmps[0].replace(',', '.') + "," + tmps[1];
}
非常感谢提前!
它可能是语言环境? – mre 2012-01-05 12:43:17
[DecimalFormat]的Javadocs的第一句(http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html)提到语言环境。另外,失败的单元测试的代码在哪里? – 2012-01-05 12:45:39
这可能是一个好主意,说明如何测试失败。是否生成异常?如果是这样,什么例外?输出是否与您期望的不同,导致JUnit断言失败?如果是这样,你会得到什么输出和你期望的输出? – Alderath 2012-01-05 13:14:45