select ROUND(1.000000000/74.000000*0.28338300000000, 6) from dual
大家看这条sql语句,在sqlplus里和plsql里的结果都是0.003829
但 select 1.000000000/74.000000*0.28338300000000 from dual 的结果却是0.0038295,按照这个结果四舍五入后应该是0.003830呀。
我在vc里double a1 = 1.000000000/74.000000*0.28338300000000 ;a1结果是0.0038295000000000,按照这个结果四舍五入也应该是0.003830,但为什么oracle数据库给的结果却是0.003829呢?我的oracle是9201的,在sql2000上的结果和oracle一样,这是什么道理?
大家看这条sql语句,在sqlplus里和plsql里的结果都是0.003829
但 select 1.000000000/74.000000*0.28338300000000 from dual 的结果却是0.0038295,按照这个结果四舍五入后应该是0.003830呀。
我在vc里double a1 = 1.000000000/74.000000*0.28338300000000 ;a1结果是0.0038295000000000,按照这个结果四舍五入也应该是0.003830,但为什么oracle数据库给的结果却是0.003829呢?我的oracle是9201的,在sql2000上的结果和oracle一样,这是什么道理?
oracle10g仍旧如此,你把6改成7,回vc自己再舍一次吧。
select round(1.000000000*0.28338300000000/74.000000,6) from dual
看看这个值是多少?