Convert.ToInt32和(int)有什么区别?

Convert.ToInt32和(int)有什么区别?,第1张

Convert.ToInt32和(int)有什么区别?

(int)foo
只是转换为
Int32
int
在C#中)类型。这是建立在CLR和要求
foo
是数字变量(例如
float
long
等),在这个意义上,它是非常类似于C的投

Convert.ToInt32
设计为通用转换函数。它比铸造更重要。也就是说,它可以从 任何 原始类型转换为a
int
(最著名的是解析a
string
)。您可以在MSDN上查看此方法的重载的完整列表。

正如Stefan Steiger 在评论中提到的那样:

另外,请注意,在数值级别上,

(int) foo
截断
foo
ifoo =Math.Floor(foo)
),而
Convert.ToInt32(foo)
使用一半至偶数舍入(将x.5
舍入为最接近的EVEN整数,即
ifoo= Math.Round(foo)
)。因此,结果不仅在实现方面,而且在数值上 也不 相同。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5559719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存