zoukankan      html  css  js  c++  java
  • mysql float和decimal

    结论:
    1. float 默认只保存6位(除去小数点),如果超过6位,则四舍五入,所以float存储的数据是不精确的,只是近似值;
    2. decimal,如果输入的数据超过了定义的最大值,那么则溢出,数据库里面存储的是定义的最大值,例如,decimal(5,2)输入123123.45,实际存储为999.99;
    3. decimal,如果只是小数部分超过定义的长度,那么则截断(非四舍五入)指定长度,例如,decimal(10,2)输入12345678.123456,实际存储为12345678.12;
    4. decimal,整数部分和小数部分是分开存储的,每9个数字占用4个字节,在mysql内部使用的二进制存储,基本没有长度的限制;
     
    建议:
    1. 尽量不用float类型;
    2. 存钱之类的数据,使用int(bigint)来存,在计算的时候除以100;
    3. 一定要存小数的话,decimal是不错的选择,但是需要考虑到数据的范围问题,以防越界产生的错误;
  • 相关阅读:
    unit 21
    unit 20
    unit 19
    第十八单元
    17 unit
    ES 中文分词
    ES 的CRUD 简单操作(小试牛刀)
    ES 必备插件的安装
    ES的安装运行
    JAVA_HOME 的设置
  • 原文地址:https://www.cnblogs.com/wangziyue/p/10906408.html
Copyright © 2011-2022 走看看