作者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