LorryLu0416 2021-09-30 02:05 采纳率: 70%
浏览 85

急!!mysql数据保存问题,字符串1.9保存到数据库为1.89999999999

从excel中导入指定数据到mysql数据库,字段是字符串类型,正常set到对象,打断点看对象值还是1.9,执行保存或更新语句后1.9变为1.8999999999999,数据库中不止这一个字段一个值,还有很多值入2.1变为2.09999999999,7.8变为7.7999999999999999,这个是什么原因导致的呢?

        //创建
        sysFoodService.saveBatch(creates);
        //更新
        updates.stream().forEach(x -> {
            LambdaUpdateWrapper<SysFood> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(SysFood::getFoodCode, x.getFoodCode());
            sysFoodService.update(x, updateWrapper);
        });

updates为更新list,打断点看里面的对象值还是1.9,保存到数据库变成1.89999999999,很奇怪,不知道什么原因,求解

  • 写回答

5条回答 默认 最新

  • 普通网友 2021-09-30 07:59
    关注

    这是由于代码中的类型和数据库中的类型不一样导致,

    如果类型一样,你设置下数据库中的小数点位数

    评论

报告相同问题?

问题事件

  • 创建了问题 9月30日

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用