1、要转换的字符串为空
String sw = null;
String yhd = "";
BigDecimal bgsw = new BigDecimal(sw);
BigDecimal bgyhd = new BigDecimal(yhd);
String dv = bgsw.subtract(bgyhd).toString();
2、要转换的字符串包含非数字的字母,标点符号,汉子等
String sw = "67.510,a";
String yhd = "68.5汉";
BigDecimal bgsw = new BigDecimal(sw);
BigDecimal bgyhd = new BigDecimal(yhd);
String dv = bgsw.subtract(bgyhd).toString();
System.out.println(dv);
3、要转换的字符串包含空格也会报错,经排查,本次报错就是因为包含空格,去掉头和尾的空格就好了
String sw = "67.510";
String yhd = "68.5 ";
BigDecimal bgsw = new BigDecimal(sw);
BigDecimal bgyhd = new BigDecimal(yhd.trim());
String dv = bgsw.subtract(bgyhd).toString();