如何显示算术运算的所有十进制值?

时间:2017-03-09 13:53:21

标签: .net vb.net decimal

我的代码的一部分计算两个数字的乘积,结果存储到声明为十进制的变量,问题是当我尝试将结果显示到文本框时它不显示结果的整个值

Dim value1 As Integer = 1576000
Dim value2 As double = 7620.22
Dim result As Decimal

result = value1 / value2    ''result from a calculator is 206.81817585319059029....

textBox1.text = result.ToString  ''textbox displays 206.818175853191

从我搜索过的十进制数据类型最多可以保存28-29位小数,但是当显示结果时,它会转换为double(数据类型)。

另外,result = value1 / value2是存储在内存中的结果的整个值吗?

1 个答案:

答案 0 :(得分:2)

您正在计算double值并将其值和精度分配给Decimal变量。

如果您的代码是使用Option Strict On设置的,那么IDE会为您提供正在发生的事情的线索。使用Option Strict On,此声明:

result = value1 / value2

会给出错误:

  

Option Strict On禁止从“Double”到“Decimal”的隐式转换

双打有15位有效数字。如果计算206.818175853191中的位数,您将看到有15位数(小数点不计)。

要获得所需结果,请使用十进制值执行除法。

Dim result2 As Decimal = CDec(value1) / CDec(value2)