最近调试一段代码,总是得不到预期结果,检查发现是parseInt函数搞的鬼,换用parseFloat函数后正常。为此专门测试了这俩兄弟的区别,发现:
parseInt('08') ,竟然返回0
parseFloat('08'),返回8
网上查了一下,原来parseInt函数有基模式,转换十进制整数时应明确加10的基数,否则会意外的转换成八进制,因此,上句中若需得到整数8,应写成
parseInt('08',10)
即:若待转换的十进制数含有前导0,则应加基数10。
parseFloat函数没有基模式,不用加基数。
来源:CSDN
作者:gxbsdzf
链接:https://blog.csdn.net/gxbsdzf/article/details/104617948