Skip to main content

转换函数

转换函数将一种数据类型或格式转换为另一种数据类型或格式。使用转换函数可将数字转换为字符串,或将字符串转换为数字。转换函数可用于字符串和数值数据类型。

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。

UnicodeNormalize

UnicodeNormalize(String, Form): Converts text data in the provided string into a standardized Unicode form. Use the required Form parameter (case-insensitive) to define the normalization form. You must manually enter one of the below normalization form options (this parameter can't be populated via an upstream field.

Normalization helps ensure that different representations of the same text are treated equivalently. It reduces ambiguity and simplifies text processing tasks such as searching, sorting, and comparing. It's particularly important in environments where text can originate from various sources or be processed by different systems with differing encoding standards.

Parameters

  • String: The provided string that you need to normalize.

  • Form: Options for how to normalize your string. These are the acceptable normalization forms (String format and quotes are required):

    • NFC (Normalization Form Canonical Composition): NFC composes characters and sequences of characters in a text into a single precomposed form whenever possible. This form is commonly used for data interchange and storage.

    • NFD (Normalization Form Canonical Decomposition): NFD decomposes characters and sequences of characters into their base characters and combines characters. This form can be useful for tasks such as searching and comparing text.

    • NFKC (Normalization Form Compatibility Composition): NFKC first applies a compatibility decomposition, then composes characters and sequences of characters into a single precomposed form whenever possible. This form is often used for compatibility and normalization of legacy data.

    • NFKD (Normalization Form Compatibility Decomposition): NFKD applies a compatibility decomposition to characters and sequences of characters, breaking them down into their base characters and combining characters. This form can also be useful for compatibility and normalization purposes.

Example

  • UnicodeNormalize("i⁹","NFKD") returns i9.

  • UnicodeNormalize("¼","NFKC") returns 1/4.

  • UnicodeNormalize("㌄","NFC") returns ㌄.

  • UnicodeNormalize("㌄","NFKC") returns イニング.