【发布时间】:2012-12-22 23:41:37
【问题描述】:
我正在用 Java 开发一个应用程序,发现这种奇怪的行为:
如果通过控制面板将区域设置格式设置为匈牙利语(系统默认),我会收到此异常,但如果我将其设置为英语,则效果很好。还可以在我最初开发程序的虚拟 Mandriva 上工作。
这是导致问题的代码sn-p:
public String stattxt(){
double dt = time_avg();
double bpm = (Double.compare(dt, 0) == 0) ? 0 : msec2bpm(dt);
String s = "<html>Number of control points: " + timestamps.size() + "<br>Average dt: " +
Double.valueOf(new DecimalFormat("#.####").format(dt).toString()) + " ms<br>" +
"Average BPM: " + Double.valueOf(new DecimalFormat("#.####").format(bpm).toString()) + "<br> </html>";
return s;
}
time_avg() 和 msec2bpm 都返回双精度值(绝不是双精度值)。
无论区域设置如何,我如何才能使这项工作正常进行?任何帮助将不胜感激。
【问题讨论】:
-
是的,有些地区不使用句点来表示小数,而是使用逗号。
标签: java settings numberformatexception regional