开发情境:
开发设置重量时需要把double数据转化为String数据时,部署后发现请求json中'weight':'11.000'却是'weight':'11,000',换号失败,重量参数显示的小数点莫名其妙变成了逗号。上网搜索发现只有德国才会有这个问题,是系统采用德语环境会出现错误。终于解决问题,原因是在decimalformat的时候将11.000变成11,000
解决方法:上代码
DecimalFormat decimalFormat = new DecimalFormat("#.#");
DecimalFormatSymbols symbols=new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
decimalFormat.setDecimalFormatSymbols(symbols);
String str = decimalFormat.format(a2);
return Float.parseFloat(str);
要特意声明小数点分隔符为“.”,否则会根据系统语言进行变化
参考网址:
http://stackoverflow.com/questions/5233012/convert-string-with-dot-or-comma-to-float-number