【问题标题】:What is significance of trailing "$" in some function names?在某些函数名称中尾随“$”有什么意义?
【发布时间】:2016-01-07 08:41:17
【问题描述】:

我最近在 Microsoft 查看了一些 vba 源:[将分数转换为小数][1]

[1]: https://support.microsoft.com/en-us/kb/185424 我注意到有几个函数有一个尾随“$”,特别是 trim$()、left$() 和 mid$()。我的问题是:“$”是什么意思?

我下载了 microsoft 函数,它在 Excel 2007 下可以正常运行。

由于 VBA trim() 与工作表函数 trim() 的工作方式不同,我编写了一个小程序来比较 3 种可能的 trim() 调用的操作。我发现 trim() 和 trim$() 产生了相同的输出。当然,worksheetfunction.trim() 会产生从字符串内部删除多余空格字符的输出。

对后面的“$”很好奇,不胜感激!

谢谢你, 戴夫

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    引用https://bytes.com/topic/access/answers/196893-difference-between-left-left-function

    艾伦·布朗
    结尾的 $ 是 String 数据类型的类型声明字符 VBA。 Left$() 返回的结果是一个字符串,而 Left() 返回一个 变体。 如果有任何可能出现 Null 值,则必须使用 Left(),而不是 Left$(), 因为 Variant 可以为 Null,但 String 不能。

    那篇文章有一个完整的例子

    【讨论】:

      【解决方案2】:

      语法是古代历史遗留下来的习惯。在早期版本的 Basic 中,变量不必声明,但变量名称隐含了数据类型。任何以 $ 结尾的变量都是字符串,任何以 % 结尾的变量都是整数。

      FORTRAN 有一个类似的约定:任何以字母 I、J、K、L、M 或 N 开头的变量都是整数,其他都是实数。

      【讨论】:

      • 少了“古代历史”,谢谢,我用那些语言编程!当然,计算机是蒸汽驱动的,所以我们必须在打开锅炉之前给锅炉加满油。
      • “蒸汽”?奢华。在我的日子里,我们必须用手摇动它。
      • @chris,我最早的项目使用成排的埃及人,每个人举起 1 或 0 只手,在金字塔上排成一排(在我们清空大米之后),以便从地面更容易看到。每行有 1024 名埃及人,因为那是公元前 1024 年
      猜你喜欢
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2011-11-25
      • 2017-08-24
      • 2013-12-07
      • 2021-04-17
      相关资源
      最近更新 更多