您的位置:首页 > 编程语言 > Java开发

java程序由mysql转到sqlserver时在浮点数处理上遇到的错误

2015-08-13 11:21 447 查看
将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数据库中时就不会出错了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: