将C#代码转换为VBscript
我有下一个while语句,我应该在VB上重新编写:将C#代码转换为VBscript,c#,vbscript,C#,Vbscript,我有下一个while语句,我应该在VB上重新编写: while (--number >= 0) { result = (char)('A' + number % lettersNumbers) + result; number /= lettersNumbers; } 我试过这样的方法: While number >= 0 number = number - 1 result = Chr(Chr("A") +
while (--number >= 0)
{
result = (char)('A' + number % lettersNumbers) + result;
number /= lettersNumbers;
}
我试过这样的方法:
While number >= 0
number = number - 1
result = Chr(Chr("A") + number Mod lettersNumbers) & result
number = number / lettersNumbers
WEnd
但不幸的是,它不起作用。我得到下一个错误:
类型不匹配:'[string:“A”]'
那么,如何更正此代码以使其在VBscript上工作
您需要获取字符代码“A”: 函数
Asc
返回给定字母的Ascii码。在原始版本中,在计算中使用charcate(char)。C#隐式地将char转换为int
While number >= 0
number = number - 1
result = Chr(Asc("A") + number Mod lettersNumbers) & result
number = number / lettersNumbers
WEnd
您需要获得“A”的字符代码:稍后回答了相同的答案,但仍然获得了投票权。我不了解这个网站的机制:-DCode转储只是做得更好。无需任何努力阅读您所解释的内容@哦,那有点悲哀。只是解决问题,而不了解问题的原因。。。我将继续解释问题的原因:-),现在应答用户(今天注册)被删除。实际上,
Asc
返回ANSI字符代码值似乎有些奇怪。ANSI字符集是在代码运行时为线程配置的许多可能的字符集之一。(线程最初从进程继承,进程最初从用户继承,用户最初从操作系统安装继承。)
While number >= 0
number = number - 1
result = Chr(Asc("A") + number Mod lettersNumbers) & result
number = number / lettersNumbers
WEnd