【问题标题】:Str Function in VBA for Excel adds a character to the stringVBA for Excel 中的 Str 函数向字符串中添加一个字符
【发布时间】:2012-04-04 02:27:05
【问题描述】:

我正在使用 str() 函数将整数转换为字符串

但是,我注意到 str() 函数会向字符串返回一个额外的字符。

例如,MsgBox(Len(str(1))) 将返回 2。

附加的额外字符是什么?

【问题讨论】:

  • Doug Glancy 的引用是正确的,尽管我会添加下一行:“使用 Format 函数将您希望格式化为日期、时间或货币或其他用户定义格式的数值转换。与 Str 不同,Format 函数不包括数字符号的前导空格。" [我的斜体]
  • 如果你想修剪多余的空白,你可以随时使用MsgBox (Len(Trim(Str(1))))
  • 使用Cstr(1) 而不是Str(1)。 cstr 不加空格。

标签: string casting excel integer vba


【解决方案1】:

来自 Excel 2010 帮助:

"将数字转换为字符串时,始终为数字的符号保留前导空格。如果数字为正数,则返回的字符串包含前导空格,并且隐含加号。"

果然这条语句在调试窗口中返回 True:

? left(str(1),1) = " "

【讨论】:

    【解决方案2】:

    最简单的方法:

    MsgBox(Asc(Right(Str(1),1)))
    

    【讨论】:

      【解决方案3】:

      正如this 回答中指出的,您应该使用format() 函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-26
        相关资源
        最近更新 更多