在前端输入一串数字后有时候展示值与输入的内容一致,有时候却不一致。经分析,原来是MySQL
数据库中字该字段的类型是float
,该字段的值超过6位有效数字后就会进行四舍五入截取,举例来说:假设float
类型字段的输入值是123456789,那么它的科学计数法是1.23456789E8;由于有效位数是6位,所以在7数字时会四舍五入,即值为1.23457E8,十进制值就是123457000
1、float
类型值不超过6位有效数的效果
2、float
类型值超过6位有效数的效果(后三位全是0!!!)
注意:有关金额的字段类型最好不用float
类型!!!
如果一定要用小数,那么,请选择DECIMAL
类型。
上图配置表示:整数部分+小数部分总共是65位数,小数位保留两位数字。
MySQL中的DECIMAL
对应Java
中的java.math.BigDecimal
类型的变量。
参考:
https://www.cnblogs.com/bien94/p/13332163.html
https://blog.csdn.net/weixin_35830723/article/details/113632107
https://www.cnblogs.com/danielzzz/p/16824214.html