【原创】Mysql数值类型,小数点后保留两个零

  如有不足请帮忙留言区补充谢谢~

一,数值类型保留小数点后两个0

  在存入数据时,应客户需求数值类型,比如钱数,分数等等需要精确到小数点后几位。

  800存入时显示为800.00

  方法:在建表时直接定义此数值的类型为float,double或decimal类型

  例如:

1 create table num(
2   shuzi float(4,2),
3   shuzi2 double(4,2),
4   shuzi3 decimal(4,2)    
5 );

  类型(a,b):a指定指定小数点左边和右边可以存储的十进制数字的最大个数,

  b指定小数点右边可以存储的十进制数字的最大个数,小数位数必须是从 0 到 a之间的值。默认小数位数是 0。

  此时在插入数据

1 insert into num values(22,33,44);

  那么此时显示的数据就是:

  22.00   33.00   44.00

  无需手动输入00.

  最后说一下

    float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位 对最后一位数四舍五入

    double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位 对最后一位数四舍五入 float和double的相乘操作,数字溢出不会报错会有精度的损失

    decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位  当对decimal类型进行操作时,数值会因溢出而报错

二,在存入数据时存入整数,select 查询时取出带小数.00的数据

    同样应客户需求,可能仅仅是因为美观而进行的操作

    在定义时定义的就为整形或者其它的数值类型那么在取数据时可以使用round()函数

    见表并定义

1 create table num(
2   shuzi int
3 );

    插入数据

insert into num values(22);

    取出数据

select round(shuzi,2) from num;
或
truncate(shuzi,2)

    此时显示为22.00

    

原文地址:https://www.cnblogs.com/xiaozhang666/p/10284519.html