以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  高精度小数的有效数字  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=24451)

--  作者:明丰
--  发布时间:2012/10/14 12:03:00
--  高精度小数的有效数字

Decimal 高精度小数,有高达28位的有效数字,适用于要求使用大量有效的整数及小数位数并且没有舍入错误的财务计算。

 

Dim d As Decimal = 1231234567890.123456789012345678901234589
Dim d1 As Decimal = 0.123456789012345678901234589
output.show(d)
output.show(d1)

 

为何显示的有效数字只有15位?


--  作者:lihe60
--  发布时间:2012/10/14 14:38:00
--  
不知道
--  作者:狐狸爸爸
--  发布时间:2012/10/15 9:07:00
--  
Dim d As Decimal = 1231234567890.123456789012345678901234589@
Dim d1 As Decimal = 0.123456789012345678901234589@
output.show(d)
output.show(d1)

--  作者:明丰
--  发布时间:2012/10/15 9:48:00
--  

Dim value As Decimal

value = Math.PI

请问如何得到28位有效数字?


--  作者:狐狸爸爸
--  发布时间:2012/10/15 10:05:00
--  
没办法,pi返回的就是一个double型
--  作者:明丰
--  发布时间:2012/10/15 10:14:00
--  

用@可以求出算式高精度结果,不知@表示什么?如:

 

Dim value1 As Decimal

Dim d1 As Integer = 3

Dim d2 As Integer = 5

value1 = (1@*d2/d1)

output.show(value1)

\'得到:1.6666666666666666666666666667


--  作者:lin_hailun
--  发布时间:2012/10/15 11:49:00
--  
 相当于一个转换函数 CDec

Dim d As Decimal = CDec("1")
Output.Show(d / 3)