jjzjj

parseInt

全部标签

javascript - 默认 parseInt 基数为 10

JavaScript的一个不好的部分是,如果您将parseInt与以0开头的内容一起使用,那么它可能会将数字视为八进制数。i=parseInt(014);//Answer:12问:如何重新定义parseInt以使其默认为基数10?我假设您会使用原型(prototype)方法。编辑:也许我应该这样做:$.fn.extend({parseInt:function(X){returnparseInt(X,10);}}); 最佳答案 如果您存储对原始parseInt函数的引用,则可以用您自己的实现覆盖它;(function(){varori

javascript - parseInt() 应该像这样工作吗?

如果我写这个脚本:alert(parseInt("123blahblahblah456"));我收到值123的警报理想情况下,函数不应该做任何事情,因为它是一个无效的整数字符串吗?parseFloat()的情况类似 最佳答案 是的,请参阅所有答案。我想补充一点,这就是检查某个值是否可以转换为数字的原因,最好使用Number或仅使用+。Number("123blahblahblah456");//=>NaNNumber("123");//=>123+"97.221"//=>97.221//iftheconversionresultne

传入 float 时的javascript,parseInt行为

我有以下两个parseInt(),我不太清楚为什么它们会给我不同的结果:alert(parseInt(0.00001))显示0;alert(parseInt(0.00000001))显示1我的猜测是,由于parseInt需要字符串参数,它将0.00001视为""+0.00001即"0.00001",因此,第一个警报将在parseInt之后显示0。对于第二条语句,""+0.00000001将是"1e-8",其parseInt将是1。我说得对吗?谢谢 最佳答案 我相信你是对的。parseInt(0.00001)==parseInt(St

javascript - 将八进制和十六进制数转换为基数 10

我正在尝试理解javascript八进制和十六进制计算。我知道我可以使用parseInt(string,radix)来获取整数值。例如,当我尝试这个时,为什么值不同?varoctal=parseInt('026',8);varoctal1=parseInt('030',8);alert(octal);//22alert(octal1);//24varhex=parseInt('0xf5',16);varhex1=parseInt('0xf8',16);alert(hex);//245alert(hex1);//248但如果我尝试将其保存在数组中,为什么答案会不同且不正确?varx=ne

javascript - IE8 : parseInt ('07' ) vs parseInt ('08' )

这个问题在这里已经有了答案:JavascriptparseInt()withleadingzeros(7个答案)关闭8年前。在IE8中发现了一件奇怪的事情:parseInt('01')//1parseInt('02')//2parseInt('03')//3/*...*/parseInt('07')//7parseInt('08')//0!!!parseIntr('09')//9ok谁能澄清一下?

Javascript 用 8 和 9 替换字符串不起作用......但其他数字可以......?

检查这个脚本...运行并查看异常情况..http://jsfiddle.net/BjJTc/来自jsfiddlevarm='Jan07';varmm='Jan';alert(m.replace(mm,''));alert(parseInt(m.replace(mm,'')));varm='Jan08';varmm='Jan';alert(m.replace(mm,''));alert(parseInt(m.replace(mm,'')));varm='Jan09';varmm='Jan';alert(m.replace(mm,''));alert(parseInt(m.replace(

javascript - 如何将两个字符串值作为整数进行比较?

我正在使用转换和比较两个字符串值if(parseInt(x)!=parseInt(y)){问题是如果值是x="9"和y="09"测试返回false。我怎样才能解决这个问题? 最佳答案 使用这个:if(parseInt(x,10)!=parseInt(y,10))如果您不精确基数,“09”将被解析为八进制(这给出0)。MDNdocumentationaboutparseInt请注意,在使用八进制表示时,您甚至不应该依赖这种解释:ECMAScript5RemovesOctalInterpretationTheECMAScript5spe

Javascript 日期解析错误 - 6 月的日期失败(??)

我有一些解析ISO-8601日期的javascript。出于某种原因,它在6月的日期失败。但是7月和5月的日期工作正常,这对我来说没有意义。我希望一双新的眼睛会有所帮助,因为我看不到我在这里做错了什么。函数定义(有bug)functionparseISO8601(timestamp){varregex=newRegExp("^([\\d]{4})-([\\d]{2})-([\\d]{2})T([\\d]{2}):([\\d]{2}):([\\d]{2})([\\+\\-])([\\d]{2}):([\\d]{2})$");varmatches=regex.exec(timestamp)

javascript - 在字符串末尾使用 JavaScript 的 parseInt

我知道parseInt(myString,10)//"Neverforgettheradix"如果字符串中的第一个字符是数字,将返回一个数字,但是如果我有一个像“column5”这样的字符串并想将它递增到下一个(“column6”),我该如何在JavaScript中执行此操作?字符串末尾的位数是可变的。 最佳答案 parseInt("column5".slice(-1),10);您可以分别使用-1或-2表示一到两位数字。如果你想指定任何长度,你可以使用下面的返回数字:parseInt("column6445".match(/(\d+

JavaScript parseInt 转换有问题

这个问题在这里已经有了答案:HowistheparseIntinJavaScriptdefinedtohandlelarge"numbers"-isthereanECMAleak?Igotawowhere(3个答案)关闭5年前。运行时console.log(parseInt("9658921879781125"))它给出了9658921879781124的值,该值小于原始值。为什么会这样?