閑談VB.NET cstr函數(shù)性能特點(diǎn)
大家知道,VB老版中的代碼在新版本中應(yīng)用會(huì)出現(xiàn)一些嚴(yán)重的錯(cuò)誤。所以在實(shí)際應(yīng)用中最好要使用到新版的函數(shù)。在這里我們就先來了解一下VB.NET cstr函數(shù)的相關(guān)特點(diǎn),從另一角度對(duì)VB.NET函數(shù)有一個(gè)深入的了解。#t#
最近遇到了一個(gè)奇怪的現(xiàn)象,參見說明代碼:
- Dim a As String = "1000"
- Dim b As String = "1"
- Dim c As String = "6"
- Dim d As String
- Dim f As Long
- d = CStr(CLng(a) * CLng(b)
/ CLng(c)) - f = (CLng(a) * CLng(b)
/ CLng(c)).ToString - MessageBox.Show(d)
- MessageBox.Show(f)
以上代碼中d 和f 的值并不相同。
使用VB.NET cstr函數(shù)的時(shí)候,返回值并沒有四舍五入,而使用.TOSTRING()的時(shí)候進(jìn)行了四舍五入。
可見,這種情況下.TOSTRING()才是我們期待的結(jié)果,如果使用VB.NET cstr函數(shù)的話將返回錯(cuò)誤的值。
所以建議盡量使用VB.NET的函數(shù),放棄VB老版本的函數(shù)。