日期:2014-05-16  浏览次数:20687 次

才弄明白Number(p,s)的意义
number(p,s)
p:1~38
s:-84~127

p>0,对s分2种情况:

1. s>0
精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。

2. s<0
精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+|s|

比如:
Value         Datatype         Stored Value
123.2564        NUMBER        123.2564
1234.9876        NUMBER(6,2)        1234.99
12345.12345        NUMBER(6,2)        Error
1234.9876        NUMBER(6)        1235
12345.345        NUMBER(5,-2)        12300
1234567        NUMBER(5,-2)        1234600
12345678        NUMBER(5,-2)        Error
123456789        NUMBER(5,-4)        123460000
1234567890        NUMBER(5,-4)        Error
12345.58        NUMBER(*, 1)        12345.6
0.1        NUMBER(4,5)        Error
0.01234567        NUMBER(4,5)        0.01235
0.09999        NUMBER(4,5)        0.09999
0.099996        NUMBER(4,5)        Error
?

?