vb.net - 扩大:代表性的变化
问题描述
请求您的帮助以更好地理解扩大的概念!
我在 VB.Net 中遇到了以下语句 wrt 'Widening Conversion'。从有关该主题的 msdn 文档中,我发现了以下内容:扩大转换保留源值,但可以更改其表示形式。如果从整数类型转换为 Decimal,或从 Char 转换为 String,则会发生这种情况。该页面的链接如下:
我的问题如下:我编写了以下代码来理解语句“......保留源值但可以更改其表示”的含义。但是当我打印整数或小数时,我看不出输出有什么不同。那么这句话是什么意思......“......可以改变它的表示”是什么意思?
Module Module1
Sub Main()
Dim i As Integer = 5
Dim d As Decimal = i 'widening
Console.WriteLine(i)
Console.WriteLine(d)
'Both prints "5"...no difference in representation
Console.ReadLine()
End Sub
End Module
有人还可以举一个例子来演示当我们将 char 值转换为字符串时表示如何变化吗?
解决方案
这意味着数字的内部表示(在您的情况下)。尝试将 Single 转换为 Double:
Sub Main(args As String())
Dim sng As Single = 1.23E+32
Dim dbl As Double = sng
Console.WriteLine($"Single: {sng}")
Console.WriteLine($"Double: {dbl}")
End Sub
' Output:
' Single: 1,23E+32
' Double: 1,2300000079302825E+32
推荐阅读
- pandas - 在整个 DataFrame 的两个 pandas 行之间应用函数的有效方法
- javascript - Component.prototype 未定义
- c++ - 我正在尝试用 c++ 填充 arr 并将其展示给用户。我的代码正在运行,但是当程序要求我按下任何按钮时出现错误
- selenoid - 发出连接 Selenoid GGR (Go Grid Router)
- css - 是否可以使用 user-scalable=no 水平滚动?
- google-slides-api - 使用 Google Slides API 有没有办法知道形状中文本的高度?
- php - Laravel "^6.18.35" “目标 [Illuminate\Contracts\Bus\Dispatcher] 不可实例化。”
- amazon-web-services - 分布式设置中的 AWS 数据传输估计值
- javascript - 开玩笑 - 找不到模块
- javascript - 使用 Redux 为 outsideClick 函数创建 HOC