Cstr 和Str有什麼區別

2022-06-23 16:40:13 字數 1307 閱讀 6991

cstr 和str有什麼區別

str str 函式    返回代表一數值的 variant (string)。語法str(number)必要的 number 引數為一 long,其中可包含任何有效的數值表示式。說明當一數字轉成字串時,總會在前頭保留一空位來表示正負。如果 number 為正,返回的字串包含一前導空格暗示有一正號。使用 format 函式可將數值轉成必要的格式,如日期、時間、貨幣或其他使用者自定義格式。與 str 不同的是,format 函式不包含前導空格來放置 number 的正負號。注意 str 函式只視句點 (.) 為有效的小數點。如果使用不同的小數點(例如,國際性的應用程式),可使用 cstr 將數字轉成字串。

cstr 和str有什麼區別?在上機改錯題中經常有這樣的題目。

答:從應試角度,綜合列年改錯題,兩種最大的區別在於:

cstr在將正數轉換為數字字串時,不在其前加:前導空格來暗示其正號;

而str在將正數轉換為數字字串時,返回的字串包含一前導空格暗示有一正號。

舉例如下:

dim i as single

dim cstr1 as string

dim str1 as string

i = 10.3

cstr1 = cstr(i)

str1 = str(i)

print len(cstr1), len(str1) '輸出:4   5

i = -10.3

cstr1 = cstr(i)

str1 = str(i)

print len(cstr1), len(str1) '輸出:5   5

簡單的講:

cstr(10.3)="10.3" str(10.3)=" 10.3"

cstr(-10.3)="-10.3" str(-10.3)="-10.3"

改錯中,要當心,如果採用str將正數轉換為數字字串,那麼對該字串在進行

逐位處理時,其迴圈次數將多了一次。

另外:按照msdn介紹,通常cstr後引數型別比較廣泛,即:可以將boolean,date,empty,數值轉化為字串。

而str後引數通常應該為數值。

但是根據實際測試,也不盡然。

請看下例:

private sub command1_click()

dim t as boolean

print str(t)     '輸出 false(前面有空格)

print cstr(t)    '輸出false(前面沒有空格)

end sub

最後輸出結果是:

false

false