我一直在互联网上搜索,试图以最简单的形式理解为什么会发生这种行为。
Dim mysingle As Single = 456.11
Dim mybool As Boolean = mysingle = 456.11
在上面的行中 mybool 变为 false。我在将单数放入双数时发现了这种行为,我发现显示了额外的数字。 .net 文档指出单个是一个合适的值:S
我gatehr一个单是一个32位的浮点数?但是为什么当我明确说出数字是什么时会出现额外的数字..当然,内存应该存储我的号码两侧的数字都是 0 以填充内存位置?!
我的大脑被这个炸了:(
最佳答案
在第二个语句中比较的值不被视为 Single
,而是被视为 Double
。由于您使用的是 VB.NET,您可以使用 !
后缀将其强制为 Single
,这将返回 True
:
Dim mysingle As Single = 456.11
Dim mybool As Boolean = mysingle = 456.11!
关于.net - 为什么在 vb.net 中如果我为单个变量分配一个数字它不等于相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080046/