MySQL 浮点型的精度范围与四舍五入
黄舟
黄舟 2017-05-18 10:51:23
[MySQL讨论组]

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
迷茫

因为,你在创建表的时候,指定的 f3 是 float(6,2) ,那这个 6 和 2 是什么意思?
6 是数字总位数。2是小数点后只保留2位。所以会显示成 9999.99 即总共 6 个9,小数后是 2 位

高洛峰

float(m,d) 中,m 代表总位数, d 代表小数点右边的位数

create table example3 (
    f1 float,
    f2 float(5,2),
    d1 double,
    d2 double(5,2)
);

insert into example3(f1, f2, d1, d2)
            values(3.141592657,3.141592657,3.141592657,3.141592657),
                  (3,3,3,3);

显示如下:

f1 f2 d1 d2
3.14159 3.14 3.141592657 3.14
3 3.00 3 3.00

解释:

  • 不指定 m,d :按照 float 与 double 的范围来取值

  • 指定 m,d : 按照 m,d 的值来取,超过则四舍五入,不超过则补 0

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号