mysqlfloat和decimal区别(MySQL之decimal类型踩过的坑)

MySQL之decimal类型踩过的坑

相信开发人员都有用到decimal(M,D)来精确存储小数的经历,不知道大家有没有遇到下面这种情况:

想保留两位小数但M不用很大,默认值为0.00,就像:


mysqlfloat和decimal区别(MySQL之decimal类型踩过的坑)(1)


当你输入0后,情况是却是如下:并没有保留2位小数(0.00)


mysqlfloat和decimal区别(MySQL之decimal类型踩过的坑)(2)


而你又想显示为:


mysqlfloat和decimal区别(MySQL之decimal类型踩过的坑)(3)


经过一番搜索和测试后,发现decimal有以下特点:

当 M>=14是,会自动填充0;反之不会自动填充。


mysqlfloat和decimal区别(MySQL之decimal类型踩过的坑)(4)

另一种办法就是:


mysqlfloat和decimal区别(MySQL之decimal类型踩过的坑)(5)


这种方法也会有问题,发现没有(前面也给你填充了)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页