最近遇到了一个奇怪的现象,参见说明代码:
以上代码中d 和f 的值并不相同。
使用CSTR()的时候,返回值并没有四舍五入,而使用.TOSTRING()的时候进行了四舍五入。
可见,这种情况下.TOSTRING()才是我们期待的结果,如果使用CSTR()的话将返回错误的值。
所以建议尽量使用VB.NET的函数,放弃VB老版本的函数。
1
Dim a As String = "1000"
2
Dim b As String = "1"
3
Dim c As String = "6"
4
Dim d As String
5
Dim f As Long
6
7
d = CStr(CLng(a) * CLng(b) / CLng(c))
8
f = (CLng(a) * CLng(b) / CLng(c)).ToString
9
10
MessageBox.Show(d)
11
MessageBox.Show(f)

2

3

4

5

6

7

8

9

10

11

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