oracle的Number(p,s)的意义

发表于:2007-06-07来源:作者:点击数: 标签:
效数位:从左边第一个不为0的数算起 原文参考: http://blog.itpub.net/post/26/3796 number(p,s) p:1~38 s:-84~127 p0,对s分2种情况: 1. s0 精确到小数点右边s位,并四舍五入。然后检验有效数位是否=p;如果sp,小数点右边至少有s-p个0填充。 2. s0 精确

效数位:从左边第一个不为0的数算起

原文参考:
http://blog.itpub.net/post/26/3796

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)    <>


__________________
http://blog.itpub.net/grassbell


原文转自:http://www.ltesting.net