在某些函数名称中,尾随“$”有什么意义?

我最近在微软看了一些vba源码:[将分数转换成十进制值] [1]

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

我下载了微软的function,并在Excel 2007下正确运行。

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

我对后面的“$”非常好奇,并且会感激启迪!

谢谢,戴夫

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

艾伦·布朗
尾部$是VBA中string数据types的types声明字符。 Left $()返回的结果是一个string,而Left()返回一个Variant。 如果有任何Null值的机会,则必须使用Left(),而不是$(),因为Variant可以是Null,但String不能。

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

语法是古代历史的遗留习惯。 在基本variables的早期版本中,不必声明数据types,而是通过variables的名称来隐含。 任何以$结尾的variables都是一个string,任何以%结尾的variables都是一个整数。

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