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