转换函数
转换函数将一种数据类型或格式转换为另一种数据类型或格式。使用转换函数可将数字转换为字符串,或将字符串转换为数字。转换函数可用于字符串和数值数据类型。
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
会格式化数字字符串,不带千位分隔符。 -
1
格式化字符串,带千位分隔符。默认情况下,千位分隔符为逗号,除非decimalSeparator
指定用 “,”,在这种情况下,千位分隔符为句点。 -
"," 将逗号指定为千位分隔符。
-
"." 将句点指定为千位分隔符。
-
" " 将空格指定为千位分隔符。
-
"'"将撇号指定为千位分隔符。
decimalSeparator:
-
(默认)“.”将句点指定为小数分隔符。
-
"," 将逗号指定为小数分隔符。
示例
-
ToString(10, 0)
返回字符串 10。 -
ToString(10.4, 2)
返回字符串 10.40。 -
ToString(100.4, 2)
返回字符串 100.40。 -
ToString(1000.4, 2, 1)