作者stator (別急著吃棉花糖)
看板Visual_Basic
標題[VB6 ] 請教單精度長度的問題
時間Mon Apr 11 22:27:28 2011
寫了一個簡單的程式要測試單精度的長度
Private Sub Command1_Click()
Dim b As Single
b = 12345678
Print Str(b)
Print Len(Str(b))
End Sub
印出來分別是1.234568E+07和13,第一個印出來沒有疑問
但請問13是怎麼算出來呢?
謝謝各位前輩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.36.242
※ 編輯: stator 來自: 61.62.36.242 (04/11 22:29)
1F:→ MOONRAKER:印象中這是BASICA時代傳下來的怪癖 你設b=1試試 04/12 00:18
2F:→ MOONRAKER:看看len(str(b))會得到多少 04/12 00:18
3F:→ stator:b設1,長度是2,不懂為何?? 04/12 09:10
5F:→ pinkykk:網址是msdn資料 04/12 12:15
6F:→ MOONRAKER:沒錯這就是BASICA的老怪癖 省略符號時該位置仍有一空白 04/12 12:24
7F:→ stator:那請問原文的13那個是怎麼算的呢? 04/12 12:58
8F:→ stator:b為單精度且為正數~如果是整數為9,不懂為何會13? 04/12 12:59
9F:→ stator:說錯,若為整數是溢位~ 04/12 13:00
10F:推 horngsh:Len(strXXX)是傳回字串變數strXXX的字元數. 04/12 15:05
11F:→ MOONRAKER:阿你1.234568E+07不是12個 加一個當然是13個 04/12 15:39
12F:→ MOONRAKER:這不是很合理且合邏輯 04/12 15:39
13F:推 horngsh:M大對極了 04/12 16:23
14F:→ MOONRAKER:冏rz 04/12 19:30
15F:→ stator:原來"."也算一個字元= =~謝謝M大 04/12 21:32
16F:推 KKFN:正數加空白+點點也算字元 04/19 11:05