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

.net 如何显示算术运算的所有十进制值?,.net,vb.net,decimal,.net,Vb.net,Decimal,我的一部分代码计算两个数字的乘积,结果存储到一个声明为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.t

我的一部分代码计算两个数字的乘积,结果存储到一个声明为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
是存储在内存中的结果的全部值吗?

您正在计算一个双精度值,并将其值和精度分配给一个十进制变量

如果您的代码是使用
选项严格设置在
上的,那么IDE会为您提供一条关于发生了什么的线索。如果对
选项进行严格限制,则此语句:

result=value1/value2

将给出错误:

选项Strict On不允许从“Double”到“Decimal”的隐式转换

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

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


Dim result2 As Decimal=CDec(value1)/CDec(value2)
您正在计算一个双精度值,并将其值和精度分配给一个十进制变量

如果您的代码是使用
选项严格设置在
上的,那么IDE会为您提供一条关于发生了什么的线索。如果对
选项进行严格限制,则此语句:

result=value1/value2

将给出错误:

选项Strict On不允许从“Double”到“Decimal”的隐式转换

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

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


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

每当我尝试将所有变量类型更改为Decimal和with(Option Strict On)时,value2都会给出一个错误“Option Strict On不允许从'Double'隐式转换为'Decimal';为什么会出现此错误?值是否超出十进制数据类型的范围?您能分享关于这些数据类型的更多信息吗?因为我需要在需要保留尽可能多的十进制数的计算中使用它们。@AnitoLabs,使用答案中显示的语法,如果转换为十进制数的值在十进制数型的范围限制内,则不会有错误。我不会给你一个关于基本编程和类型转换的教程。你应该熟悉这门语言,而且有许多信息来源随时可用。从在线或下载开始。@AnitoLabs,一般来说,当您使用Option Strict Off时,您实际上是在告诉编译器“请让我对我的代码感觉良好,并编译这堆乱七八糟的代码。我不在乎准确性或速度。重要的是我的自我不会被告知我的代码很臭。”然后,编译器将尽最大努力满足该请求,试图找到一种方法,使用满足目标类型的显式类型转换重写代码。重写代码通常会导致运行完全不合逻辑的混乱,但会产生意外的结果。每当我尝试将所有变量类型更改为decimal和with(Option Strict On),value2会给出一个错误“Option Strict On不允许从'Double'隐式转换为'decimal';为什么会出现此错误?值是否超出十进制数据类型的范围?您能分享关于这些数据类型的更多信息吗?因为我需要在需要保留尽可能多的十进制数的计算中使用它们。@AnitoLabs,使用答案中显示的语法,如果转换为十进制数的值在十进制数型的范围限制内,则不会有错误。我不会给你一个关于基本编程和类型转换的教程。你应该熟悉这门语言,而且有许多信息来源随时可用。从在线或下载开始。@AnitoLabs,一般来说,当您使用Option Strict Off时,您实际上是在告诉编译器“请让我对我的代码感觉良好,并编译这堆乱七八糟的代码。我不在乎准确性或速度。重要的是我的自我不会被告知我的代码很臭。”然后,编译器将尽最大努力满足该请求,试图找到一种方法,使用满足目标类型的显式类型转换重写代码。这种对代码的重写通常会导致运行完全不合逻辑的混乱,但会产生意想不到的结果。