美文网首页程序员
float double decimal 存储数据小数点问题 

float double decimal 存储数据小数点问题 

作者: 小柒的另一个世界 | 来源:发表于2018-10-26 12:52 被阅读0次

环境

CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `test` float(20,2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

问题描述 在float类型中插入数据 1.00 在数据库中的表现为 1

// 执行语句
INSERT INTO test SET `test` = 1.00
// 数据库显示结果为 1

问题出现的原因 :

由于数据库字段的长度导致 float 长度 必须大于15 数据库的数据才会自动保存小数点后的位数

比如说:

插入 1 会保存为 1.00 小于15 的话 会自动忽略掉 数据最后面的0 这个时候数据的结果是正常的

解决方法
把数据库的float 字段的长度设置为 大于 15即可

相关文章

网友评论

    本文标题:float double decimal 存储数据小数点问题 

    本文链接:https://www.haomeiwen.com/subject/ssmktqtx.html