转换函数
转换函数将一种数据类型或格式转换为另一种数据类型或格式。使用转换函数可将数字转换为字符串,或将字符串转换为数字。转换函数可用于字符串和数值数据类型。
BinToInt
BinToInt(s)
:将二进制字符串(s)转换为整数。它的精度限制为 64 位,长度最多可达 64 位。
示例
BinToInt("101010101")
返回 341。如果字符串长度正好为 32 或 64 个字符,则会被视为有符号数字:BinToInt("11111111111111111111111111111011")
返回 -5。前导符号‘+’和‘-’的优先级高于将 32 个和 64 个字符视为有符号数字的规则:BinToInt("-111")
返回 -7。BinToInt("+111")
返回 7。
CharFromInt
CharFromInt(x)
:返回与输入数字 x 相匹配的 Unicode® 字符。
示例
CharFromInt(66)
返回 B(U+0042“拉丁大写字母 B”)。CharFromInt(169)
返回 ©(U+00A9“版权符号”)。CharFromInt(1071)
返回 Я(U+042F“西里尔大写字母 YA”)。CharFromInt(127944)
返回 🏈(U+1F3C8“美式足球”)。CharFromInt(0)
返回 [null] (U+000 'Null'),因为任何不能用于表示字符的整数都可能给出 null 结果。CharFromInt(55300)
返回 [null],因为任何当前不代表字符的整数都将不能按正常字体呈现。
CharToInt
CharToInt(s)
:返回与输入 Unicode® 字符 s 相匹配的数字。
示例
CharToInt("B")
返回 66(U+0042“拉丁大写字母 B”)。CharToInt("©")
返回 169(U+00A9“版权符号”)。CharToInt("Я")
返回 1071(U+042F“西里尔大写字母 YA”)。CharToInt()
返回 127944(U+1F3C8“美式足球”)。
ConvertFromCodePage
ConvertFromCodePage(s, codePage)
:将文本从代码页转换为 Unicode 编码。如需详细了解代码页,请参阅
代码页
文档。
ConvertToCodePage
ConvertToCodePage(s, codePage)
:将文本从 Unicode® 编码转换为特定代码页。要详细了解代码页,请访问
代码页
文档。
HexToNumber
HexToNumber(x):将十六进制字符串转换为数字(限制为 64 位)。如果有 64 位、16 个十六进制字符,并且设置了前导位,则结果为负数。
示例
HexToNumber("7FFFFFFFFFFFFFFA")
返回 9223372036854775802。HexToNumber("FFFFFFFFFFFFFFFA")
返回 -6。HexToNumber("FFFFFFFFFFFFFFFB")
返回 -5。
IntToBin
IntToBin(x)
:将 x 转换为二进制字符串。
IntToHex
IntToHex(x)
:将 x 转换为十六进制字符串。
ToDegrees
ToDegrees(x)
:通过 (x)rad × 180/π 计算,将数值弧度值 (x) 转换为度数。请注意,x 必须是一个数值,不能包含任何弧度符号 (rad)。
示例
TODEGREES(0)
返回 0。TODEGREES(1)
返回 57.29578 (1 * 180/π)。TODEGREES(Null)
返回 Null。TODEGREES(2.5)
返回 143.239449 (2.5 * 180/π)。
ToNumber
ToNumber(x, [bIgnoreErrors], [keepNulls], [decimalSeparator])
:将字符串 (x) 转换为数字。ToNumber 接受可解释为科学记数法双精度的字符串。ToNumber 接受可解释为双精度科学计数法的字符串。默认情况下,句点用作小数分隔符。如果有的话,在小数分隔符之前(而非之后),所有可能的千位分隔符都会被删除,如:空格、逗号、句号和撇号。写出来是这样的:"123 456'789.012345"。
如果输入字符串看起来像整数并且在范围内,ToNumber 可以返回精度为 64 位的整数值。
非数字值
ToNumber 从字符串首位对其求值,并在遇到非数字值(忽略逗号、句点、空格和撇号)时停止。
例如,字符串“June 2022”会返回 0 或 [Null](具体取决于配置),而“2022 June”会返回 2022。
可选参数
bIgnoreErrors
(默认)0 或 false 报告转换错误消息。
1 或 true 忽略转换错误。
keepNulls
(默认)0 或 false 将非数字值(包括 null)转换为零。
1 或 true 将非数值转换为 null。
decimalSeparator
:传入的字符串的小数分隔符。(默认)“.”将句点指定为小数分隔符。
"," 将逗号指定为小数分隔符。
decimalSeparator
参数会忽略传入的字符串的任何指定千位分隔符(空格、句点、逗号或撇号)。
示例
ToNumber("878")
将字符串 878 作为数字返回。ToNumber("4.256411411E9")
返回数字 4256411411.0。ToNumber("9223372036854775807")
返回 9223372036854775807。但是,ToNumber("9.223372036854774273e18")
会返回一个双精度值,该值将失去精度并四舍五入为 9223372036854775808。ToNumber("Number", "false")
返回 0,并显示转换错误:TONUMBER:Number 在转换过程中丢失了信息。ToNumber("Number", 0, 0)
返回 0,并显示转换错误:TONUMBER:Number 在转换过程中丢失了信息。ToNumber("Number", 1, 0)
返回 0,并且没有转换错误。ToNumber("Number", 1, 1)
返回 [Null],并且没有转换错误。ToNumber("123456,789", 1, 1, ",")
返回数字 123456.789。ToNumber("123.456,789", 1, 1, ",")
返回数字 123456.789。这是因为,当句号出现在通过decimalSeparator
指定的小数分隔符之前时,它会被解释为千位分隔符。ToNumber("June 2022")
返回 0。该函数立即遇到一个非数字值并转换为 0。ToNumber("2022 June")
返回数字 2022。当该函数遇到非数字值(June 中的 J)时,会停止。ToNumber("6/1/2022")
返回数字 6。当该函数遇到非数字值 / 时,会停止。ToNumber("2022 5:00:00")
返回数字 20225。当该函数遇到 5 后面的非数字值 : 时,会停止。小数分隔符前的空格将被忽略。
ToRadians
ToRadians(x)
ToRadians(x):通过 (x)° × π/180 计算将数值度数值 (x) 转换为弧度值。请注意,x 必须是一个数值,不能包含度数符号 (°)。
示例
TORADIANS(0)
TORADIANS(0) 返回 0 (0 * π/180)。TORADIANS(1)
TORADIANS(1) 返回 0.017453 (1 * π/180)。TORADIANS(5)
TORADIANS(5) 返回 0.087266 (5 * π/180)。TORADIANS(2.5)
TORADIANS(2.5) 返回 0.043633 (2.5 * π/180)。
ToString
ToString(x, [numDec], [addThousandsSeparator], [decimalSeparator])
:使用小数位数参数 numDec 将数值参数 (x) 转换为字符串。默认选项使用句点作为小数分隔符。ToString 以不同的方式处理 Int64 值,以免在转换过程中损失精度。ToString(value, 0, 1) 使用 value=18014398509481983 精确得到 18,014,398,509,481,983。
*
numDec
参数的最大值为 100。
可选参数
addThousandsSeparator
(默认)
0
会格式化数字字符串,不带千位分隔符。1
格式化字符串,带千位分隔符。默认情况下,千位分隔符为逗号,除非decimalSeparator
指定用 “,”,在这种情况下,千位分隔符为句点。"," 将逗号指定为千位分隔符。
"." 将句点指定为千位分隔符。
" " 将空格指定为千位分隔符。
"'"将撇号指定为千位分隔符。
decimalSeparator:
(默认)“.”将句点指定为小数分隔符。
"," 将逗号指定为小数分隔符。
示例
ToString(10, 0)
返回字符串 10。ToString(10.4, 2)
返回字符串 10.40。ToString(100.4, 2)
返回字符串 100.40。ToString(1000.4, 2, 1)
返回字符串 1,000.40。ToString(123456.789, 3, 1, ",")
返回字符串 123.456,789。ToString(123456.789, 3, 0, ",")
返回字符串 123456,789。ToString(1234567.89, 2, ".", ",")
返回字符串 1.234.567,89。ToString(1234567.89, 2, " ", ",")
返回字符串 1 234 567,89。ToString(1234567.89, 2, "'", ",")
返回字符串 1'234'567,89。