最近遇到了一个奇怪的现象,参见说明代码:
 1在VB.NET中CSTR()函数和TOSTRING()函数的区别        Dim a As String = "1000"
 2在VB.NET中CSTR()函数和TOSTRING()函数的区别        Dim b As String = "1"
 3在VB.NET中CSTR()函数和TOSTRING()函数的区别        Dim c As String = "6"
 4在VB.NET中CSTR()函数和TOSTRING()函数的区别        Dim d As String
 5在VB.NET中CSTR()函数和TOSTRING()函数的区别        Dim f As Long
 6在VB.NET中CSTR()函数和TOSTRING()函数的区别
 7在VB.NET中CSTR()函数和TOSTRING()函数的区别        d = CStr(CLng(a) * CLng(b) / CLng(c))
 8在VB.NET中CSTR()函数和TOSTRING()函数的区别        f = (CLng(a) * CLng(b) / CLng(c)).ToString
 9在VB.NET中CSTR()函数和TOSTRING()函数的区别
10在VB.NET中CSTR()函数和TOSTRING()函数的区别        MessageBox.Show(d)
11在VB.NET中CSTR()函数和TOSTRING()函数的区别        MessageBox.Show(f)

以上代码中d 和f 的值并不相同。
使用CSTR()的时候,返回值并没有四舍五入,而使用.TOSTRING()的时候进行了四舍五入。
可见,这种情况下.TOSTRING()才是我们期待的结果,如果使用CSTR()的话将返回错误的值。
所以建议尽量使用VB.NET的函数,放弃VB老版本的函数。

相关文章: