我用DecimalFormat df = new DecimalFormat("#,###.00");
来格式化BigDecimal
。用格式化值替换DecimalFormat的分组分隔符
现在,我想要使用该格式化的值(比如'1 250,00')创建new BigDecimal
。我试过这个:
BigDecimal result = new BigDecimal(model.getValue().replace(",",".").replace(" ",""));
但是space
在1和2之间的1 250.00没有被替换。我该如何解决它?
例子:
DecimalFormat df = new DecimalFormat("#,###.00");
BigDecimal example = new BigDecimal("1250");
String str = df.format(example);
System.out.println(str.replace(",",".").replace(" ",""));
您可能有不同类型的空白。改用'replaceAll(“\\ s +”,“”)''来代替。 – Mena
试过你的代码,对于'String s =“1 250,00”'它工作正常。所以问题不在于替换方法 – SacJn
@Tunaki,我举了一个例子。尝试一下。如果有帮助,我的本地化是莫斯科/俄罗斯。输出 - 1 250. 00 – Sher