将double类型的数据直接转换成bigdecimal时,如下:
meterReadingT.setKw(new BigDecimal(kw));
meterReadingT.setAKw(new BigDecimal(kwA));
meterReadingT.setBKw(new BigDecimal(kwB));
meterReadingT.setCKw(new BigDecimal(kwC));
在mysql中是没有错误的,但是在sqlserver里面是有错误的,会报不能将nvarchar类型的转换成decimal,
在mysql中相应字段的类型是decimal,在sqlserver中的相应类型是numeric,最后在网上找到办法,应该限制一下小数点的位数如下
DecimalFormat decimalFormat =new DecimalFormat("#.00");
meterReadingT.setKw(new BigDecimal(decimalFormat.format(kw)));
meterReadingT.setAKw(new BigDecimal(decimalFormat.format(kwA)));
meterReadingT.setBKw(new BigDecimal(decimalFormat.format(kwB)));
meterReadingT.setCKw(new BigDecimal(decimalFormat.format(kwC)));
这样在保存到sqlserver数据库中时就不会出错了