`
baobeituping
  • 浏览: 1042337 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

javascript---parseInt("08")或parseInt("09")转换返回0的解决办法

 
阅读更多

javascript parseInt函数使用率非常高,主要功能是将一个string转换为integer。有两个重载:

  • parseInt(s);
  • parseInt(s,radix)

  第一个方式不再多说,第二个方式,radix是s所基于的进制。范围为2-36(不在此范围函数将返回NaN)。今天遇到下面的情况:

    对于parseInt("01")到parseInt("07");都能得到正确的结果(0-7),但如果是parseInt("08") 或parseInt("09")则返回0 ;这是为何?

    经研究发现parseInt当不指定radix时,当以0x开头时,s按照十六进制计算的;如果以0开头且第二位不为x,则s是按照八进制计算的,因为八进制不能有8,9所以报错返回0

  parseInt("08",10) 或parseInt("09",10),将分别返回8和9,

  所以,在我们用时还是明确指定进位制,以防出错。

分享到:
评论

相关推荐

    【JavaScript源代码】JavaScript parseInt()与Number()区别案例详解.docx

    JavaScript parseInt()与Number()区别案例详解 ...为了避免对“0”和“0x”开头的字符串解析错误,各种javascript编程规范都规定必须要明确给出第二个参数的值,如parseInt(“123”,10). parseInt('16',

    javascript parseInt() 函数的进制转换注意细节.docx

    javascript parseInt() 函数的进制转换注意细节.docx

    JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法

    主要介绍了JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法,因转换的字符串数字都以0开头,导致parseInt函数在浏览器和Android WebView中转换结果不一样,本文给出了解决方法,需要的朋友可以参考下

    20200424 基于JavaScript Number类型 Number() 、 parseInt() 和 parseFloat() 的转换规则.zip

    基于JavaScript Number类型 Number() 、 parseInt() 和 parseFloat() 的转换规则的思维导图

    js parsefloat parseint 转换函数

    js parsefloat parseint JavaScript提供了3个显式的类型转换函数,分别是eval()、parseInt()和parseFloat()。 eval()函数:将字符串表达式转换成数字值。例如,语句total=eval(“432.1*10”&#41...

    Javascript 函数parseInt()转换时出现bug问题

    这是一个很诡异的事情,今天测试的测出来的。parseInt(1.13*100),实际返回值是112。直接看代码吧 代码如下: <head> [removed] function test(){ var ...//解决方法:将 此处返回改为:parseInt(yuan*1000,10)/1

    Javascript的数据类型转换

    parseInt()-将字符串转化为整型 parseFloat()-将字符串转化为浮点数 String()-函数能够将任何类型的值转换为字符串 tostring()-将数字转换为进制 Boolean()-转换为Boolean值 toFixed-()将数值转换为字符串

    javascript 数据类型转换(parseInt,parseFloat)

    javascript有两种数据类型的转换方法: (一)将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换) (二)从一个值中提取另一种类型的值,并完成转换工作 基本数据类型转换的三种方法: 1.转换为字符...

    javaScript parseInt字符转化为数字函数使用小结

    今天测的时候发现问题了,当数据库中月份为09的时候就出问题了,用parseInt转换之后就成0了。好不解。测了好久,没有发现我代码中的问题,到google搜了一下,才知道是这么一回事。 对于parseInt(“01”)到parseInt...

    javascript parseInt() 函数的进制转换注意细节

    parseInt(string, radix) 有2个参数,第一个string 是传入的数值,第二个radix是 传入数值的进制,参数radix 可以忽略,默认为 10,各种进制的数转换为 十进制整数,接下来详细介绍,感兴趣的朋友可以了解下哦

    JavaScript笔记

    |--Boolean(布尔类型)0、-0、null、""、false/undefined或NaN,则该对象设置为false。其余都可以当true 6.数据类型的隐式转换: |--数字 + 字符串:数字转换为字符串 |--数字 + 布尔值:true转换为1,false转换为...

    JavaScript-js宝典笔学习记.txt

    8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用+号. 12.JS中的比较操作符有:==等于,!=不等于,>,>=, 13....

    JavaScript的parseInt 进制问题

    今天在整理以前写过的一段根据周期值自动计算下次执行日期的js代码,发现一bug,我使用parseInt对源数据串进行转换,当输入类似:2009-05-05时,parseInt将把串的05做8进制转换,这样结果自然就不对了。

    关于javascript中的parseInt使用技巧

    如果不指定第二个参数,那么它只能正确地转换01到07(即把它们转换成1到7),从08开始,它就会按照“0开头的是八进制数”的规则转换了!正好现在是9月,我随手选的日期,正好暴露了这个问题,我要是在上半年做这个,...

    JavaScript的parseInt 取整使用

    JavaScript 是弱类型语言, 为了保证数值的有效性, 在处理数值的时候, 我们可以对数值字符串进行强行转换. 如 parseInt 取整和 parseFloat 取浮点数

    Javascript中parseInt的正确使用方式

    parseInt(string, radix) 当参数radix的值为 0,或没有设置该参数时,parseInt()会根据 string来判断数字的基数。 返回值 返回解析后的数字。 提示和注释 注释:只有字符串中的第一个数字会被返回。 注释:开头和...

    微软JavaScript手册

    0...n 属性 返回单个参数的实际值,该参数来自由当前运行函数的参数属性返回的参数对象。 $1...$9 属性 返回在模式匹配中找到的最近的九条记录。 % 运算符 两个表达式的值相除,返回余数。 %= 运算符 用变量的值...

    01 JavaScript基本语法.ppt

    parseInt() 和 parseFloat() 函数将字符串分别转换为整型和小数 运算符号分为算术运算符、比较运算符、逻辑运算符 分支结构 条件语句分为if语句,if-else语句、if的嵌套 多分支语句switch根据表达式的值,进入不同的...

Global site tag (gtag.js) - Google Analytics