当前位置: 首页 > 知识库问答 >
问题:

javascript - parseInt问题?

石苏燕
2023-07-15
parseInt('1-9')// 1

这是为什么?

共有2个答案

闻人和泽
2023-07-15

parseInt能够接收两个参数,parseInt(string, radix) 。
如果 radix 是 undefined、0 或未指定的,JavaScript 会假定以下情况:

  • 如果输入的 string 以 0x 或 0X(一个 0,后面是小写或大写的 X)开头,那么 radix 被假定为 16,字符串的其余部分被当做十六进制数去解析。
  • 如果输入的 string 以 "0"(0)开头,radix 被假定为 8(八进制)或 10(十进制)。具体选择哪一个 radix 取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用 parseInt 时,一定要指定一个 radix。
  • 如果输入的 string 以任何其他值开头,radix 是 10 (十进制)。

得出parseInt('1-9')相当于parseInt('1-9', 10)。

如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。parseInt 将数字截断为整数值。允许前导和尾随空格。

所以parseInt('1-9', 10)的结果为1。
其它示例:

parseInt('12-9')     // 12parseInt('123A9')    // 123parseInt('A123')     // NaN

其它说明请见MDN:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer...

於炯
2023-07-15

1后面的字符会忽略

如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。parseInt 将数字截断为整数值。允许前导和尾随空格。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer...

 类似资料:
  • 问题内容: Javascript的parseInt函数似乎无法完全正常工作。 问题答案: 这是因为如果数字以“ 0”开头,则将其视为以8为基数(八进制)。 您可以通过将base作为第二个参数来强制使用base。 根据docs,第二个参数是可选的,但并不总是假定为10,如您从示例中看到的那样。

  • Javascript parseInt() 函数 parseInt() -- 解析一个字符串,并返回一个整数。 语法: parseInt( string, radix ); 参数说明: string -- 待解析的字符串 radix -- 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 "0x" 或 "0X"

  • 此方法用于获取某个String的原始数据类型。 parseXxx()是一个静态方法,可以有一个或两个参数。 语法 (Syntax) static int parseInt(String s) static int parseInt(String s, int radix) 参数 (Parameters) s - 这是十进制的字符串表示。 radix - 这将用于将String s转换为整数。 返

  • 描述 (Description) 此方法用于获取某个String的原始数据类型。 parseXxx()是一个静态方法,可以有一个或两个参数。 语法 (Syntax) 以下是此方法的所有变体 - static int parseInt(String s) static int parseInt(String s, int radix) 参数 (Parameters) 这是参数的细节 - s - 这

  • 本文向大家介绍Javascript中parseInt的正确使用方式,包括了Javascript中parseInt的正确使用方式的使用技巧和注意事项,需要的朋友参考一下 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数。 语法 parseInt(string, radix) 当参数radix的值为 0,或没有设置该参数时,parseInt()会根据 string来判断数字的基数

  • 问题内容: 首先-我的描述;) 我从服务器收到XmlHttpRequests JSON响应。MySQL驱动程序将所有数据输出为字符串,PHP将其按原样返回,因此任何整数都将作为字符串返回,因此: JS中的parseInt()函数是否有任何快速替代方法(hack),可以解析纯数字字符串,例如 问题答案: 要转换为整数,只需使用一元+运算符,它应该是最快的方法: 可以通过类似的方式转换为其他类型: 更