我偶然发现了一个问题CInt https://msdn.microsoft.com/en-us/library/s2dy91zy.aspx并将双精度数转换为整数。
问题如下:
CInt(10.5) 'Result is 10
CInt(10.51) 'Result it 11, but I expected 10...
我习惯了 C# 风格转换(int) 10.51
is 10.
正如问题中所指出的Integer.Parse 与 CInt https://stackoverflow.com/questions/423820/integer-parse-vs-cint/423910#423910,结果只是以某种方式四舍五入。
然而,我所需要的只是获取整数部分并丢弃小数部分。如何在 VB.NET 中实现此类转换?经过一番研究后,我发现我可以使用Fix()
函数可以做到这一点,但它是最好的选择吗?
您可以使用Int
or Fix
函数,但这些函数的返回值类型是 double,因此您必须将其转换为 Integer ifoption strict
is on
.
no = Convert.ToInt32(Int(10.51))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)