vb 要求计算结果具有15位有效位数

Option Explicit
Private Sub Command1_Click()
Dim x As Double, y As Double, z As Double, u As Double
x = Val(Text1.Text)
Const pi As Single = 3.1415926
y = 2 * pi * x
z = pi * x * x
Label4.Caption = y
Label5.Caption = z
End Sub

VB可使用Decimal 数据类型或Currency 数据类型变量,参与运算可获得15位有效数字,并储存与此类数据类型变量中。

    Decimal 数据类型

    Decimal 变量存储为 96 位(12个字节)无符号的整型形式,并除以一个 10 的幂数。这个变比因子决定了小数点右面的数字位数,其范围从 0 到 28。变比因子为
    0(没有小数位)的情形下,最大的可能值为 +/-79,228,162,514,264,337,593,543,950,335。而在有 28个小数位的情况下,最大值为 +/-7.9228162514264337593543950335,而最小的非零值为
    +/-0.0000000000000000000000000001。

    注意 此时,Decimal 数据类型只能在 Variant中使用,也就是说,不能声明一变量为 Decimal
    的类型。不过可用 Cdec 函数,创建一个子类型为 Decimal 的 Variant。

    Currency 数据类型

    Currency 变量存储为 64 位(8
    个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。这种表示法的范围可以从
    -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。

    Currency 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-17
结果采用截取:
用left函数保留左边16个字符并sound四舍五入。
在这步之前,你还要做判断结果的字符数大于等于16时和小于16时的情况。
不知道是不是这个意思,自己写哦。本回答被提问者和网友采纳
第2个回答  2014-03-17
详细点呗.........追问

输入圆的半径算圆的周长和面积 要求结果具有15位有效位数
我写的放问题补充里吧 这个字数有限制

追答

意思是无论半径多少,得出的结果必须是整数+小数一共15位不多不少?

追问

有效位数难道不是跟数学那个概念一样吗 就是用科学计数法表示的那种

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网