持久层mybatis的sql向sqlserver插入数据,带小数位的数字字符串自动四舍五入

问题背景:java应用装在linux服务器上,sqlserver数据库装在windows server的虚拟机上

问题详情:持久层mybatis的sql向sqlserver插入数据,数据中的数字为一位或者两位的数字,并带单引号,插入sqlsserver数据库后,最后一位有效的小数位会被自动四舍五入,出现误差。


解决方案:在数字的后面补数字 0 ,因money是默认保留4位有效小数位,我将带小数的数字补至4位或者5位,数据传输过去之后,有效小数位正常,没有被自动四舍五入。


猜想:因为在本地windows环境,由mybatis插入本地的sqlserver不会出现自动四舍五入的情况,所以这种情况比较诡异;大概是不同系统之间字符解析,触发了sqlserver数据库保存数据时对小数位进行自动四舍五入的机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值