我读取一个文件并将字段拆分为变量,如果我进入一个最大长度应为32的变量,我会这样做:
ragionesociale = Trim(Mid$(lineal, 159, 61))
TRF_RASO = ragionesociale
If len(TRF_RASO < 32) Then
TRF_RASO = TRF_RASO & Space(32 - Len(TRF_RASO))
Else
TRF_RASO = Left$(TRF_RASO, 32)
End If
当评估第一个条件len(TRF_RASO&lt; 32)时,它评估为True,而如果在即时窗口中我放了 ? LEN(ragionesociale)
它给了我38,所以只有其他人应该被评估。为什么vb会将第一个评估为真? 我希望在解释时能够清楚
答案 0 :(得分:2)
你有:
len(TRF_RASO < 32)
(TRF_RASO < 32)
是一个False
表达式,当强制转换为字符串&amp;时,它的长度为5个字符。传递给Len()
,因此结果不正确。
纠正于:
if len(TRF_RASO) < 32