number

number

> 函数列表

将一个值转换为数字。如果该值是字符串,number 函数会尝试把它转换成数字;如果该值已经是数字,函数就直接返回这个数字;对于其他任何类型,则返回 0。

参数
返回值
TypeScript

在 JavaScript 中,转换失败时 Number(value) 返回的是 NaN,而 LeekScript 的 number 返回 0。请用 Number.isNaN() 判断结果,绝不要用 === NaN:NaN 不等于任何值,连它自己都不等于。还要当心这些边界情况:Number("") 和 Number(null) 都是 0,Number("0x10") 是 16。最后,Number("12abc") 是 NaN,而 parseInt("12abc") 是 12——parseInt 遇到第一个非法字符就停下,Number 则要求整个字符串都是一个数字。

Python

在 Python 中,没有统一的转换方式:int(value) 得到整数,float(value) 得到浮点数。对于不是数字的字符串,两者都会抛出 ValueError,而不像 LeekScript 的 number 那样返回 0——float("abc") 和 float("") 都会失败,int("12.5") 也一样,因为 int() 不接受小数部分:要写成 int(float("12.5"))。两端的空格是允许的,float(" 12 ") 为 12.0。用在浮点数上时,int() 向零取整:int(12.9) 为 12,int(-12.9) 为 -12。只要字符串不是你自己生成的,就要准备好 try / except ValueError。

示例

number("12345") // 12345 number("3.14159") // 3.14159 number("bonjour") // 0

另请参阅