String VBA for Excel中的Str函数向字符串中添加一个字符
我正在使用str()函数将整数转换为字符串 但是,我注意到str()函数会向字符串返回一个额外的字符 例如,String VBA for Excel中的Str函数向字符串中添加一个字符,string,casting,excel,integer,vba,String,Casting,Excel,Integer,Vba,我正在使用str()函数将整数转换为字符串 但是,我注意到str()函数会向字符串返回一个额外的字符 例如,MsgBox(Len(str(1))将返回2 附加的额外字符是什么?最简单的方法: MsgBox(Asc(Right(Str(1),1))) 从Excel 2010帮助: 当数字转换为字符串时,总是为数字的符号保留一个前导空格。如果数字为正数,则返回的字符串包含一个前导空格,并隐含加号 果然,此语句在调试窗口中返回True: ? left(str(1),1) = " " 正如回答中指出
MsgBox(Len(str(1))
将返回2
附加的额外字符是什么?最简单的方法:
MsgBox(Asc(Right(Str(1),1)))
从Excel 2010帮助:
当数字转换为字符串时,总是为数字的符号保留一个前导空格。如果数字为正数,则返回的字符串包含一个前导空格,并隐含加号
果然,此语句在调试窗口中返回True:
? left(str(1),1) = " "
正如回答中指出的,您应该使用
format()
函数。Doug Glancy的引用是正确的,尽管我会添加下一行:使用“格式”功能可以转换要格式化为日期、时间、货币或其他用户定义格式的数值。与Str不同,Format函数不包含数字符号的前导空格。“[My italics]如果您想修剪多余的空格,您可以始终使用此MsgBox(Len(trim(Str(1)))
使用Cstr(1)
而不是Str(1)
。Cstr不添加空格。