number类型精度分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了number类型精度分析相关的知识,希望对你有一定的参考价值。

numbe类型的可设置的取值范围:

number无限定

number(6)是6位整数

number(6,2)是4位整数,精确到两位小数,最多6位.四舍五入

number(6,-2)是6位整数,精确到百位。从百位开始四舍五入、然后从十位开始补0
这几种取的值,都在规定的范围中。如果number(6)规定字符长度为6个字符,输入的字符长度超过6,那么就会出现数据溢出的现象...丢失数据。
为了数据安全,防范数据丢失,建议把字符长度增长。

案例演示

create table ceshi(
a number(6),
b number(6,2),
c number(6,-2),
d number(6,-4)
)

insert into ceshi(a,b,c,d) values(666666,2600.236,12345678,1234567);
insert into ceshi(a,b,c,d) values(666666,2600.236,12345678.11,1234567890);

依次输出

 666666 2600.24 12345700 1230000

 666666 2600.24 12345700 1234570000

 

以上是关于number类型精度分析的主要内容,如果未能解决你的问题,请参考以下文章

javascript number类型的精度丢失

oracle中number数值类型

hibernate NUMBER 精度

Oracle NUMBER 数据类型中的精度和小数位数是啥意思

Oracle number类型查询精度丢失的解决方法

oracle中直接定义number类型不带括号究竟含不含小数或负数