相关疑难解决方法(0)

我如何解决JavaScript的parseInt八进制行为?

尝试在JavaScript中执行以下操作:

parseInt('01'); //equals 1
parseInt('02'); //equals 2
parseInt('03'); //equals 3
parseInt('04'); //equals 4
parseInt('05'); //equals 5
parseInt('06'); //equals 6
parseInt('07'); //equals 7
parseInt('08'); //equals 0 !!
parseInt('09'); //equals 0 !!
Run Code Online (Sandbox Code Playgroud)

我刚刚学会了JavaScript认为前导零指示八进制整数的困难方式,并且由于没有"8""9"在base-8中,该函数返回零.无论喜欢与否,这都是设计的.

解决方法有哪些?

注意:为了完整起见,我即将发布解决方案,但这是我讨厌的解决方案,所以请发布其他/更好的答案.


更新:

JavaScript标准的第5版(ECMA-262)引入了一个突破性的变化,消除了这种行为.Mozilla 写得很好.

javascript integer octal

280
推荐指数
8
解决办法
6万
查看次数

八进制数字文字:什么时候?为什么?自从?

我从来没有在我的代码中使用八进制数字,也没有遇到任何使用它的代码(尽管有十六进制和bit twddling).

我在1994年开始用C/C++编程,所以也许我太年轻了?旧代码使用八进制吗?C包含对这些的支持,前缀为0,但使用这些基数为8的数字的代码在哪里?

c numbers

47
推荐指数
7
解决办法
3万
查看次数

Javascript eval函数返回八进制值

当我尝试"eval"函数作为eval("020*05 + 05")时,它将返回85而不是105.有人可以解释为什么eval函数的行为如下吗?还建议任何克服这个问题.

javascript

5
推荐指数
1
解决办法
1361
查看次数

Javascript切换错误的情况

你好(再次)一个关于javascript的问题,这一个必须是一个简单的,但我只是看不出我做错了什么,我认为一些非常愚蠢的事情:

我有一个文本框和一个按钮.当我单击按钮时,值将被传递给名为activiteitn的变量.码:

    activiteitn = $("#m2activiteitn").val();
Run Code Online (Sandbox Code Playgroud)

它得到了值,所以当我填写数字1时,activiteitn = 1.之后我有一个如下所示的开关:

        switch(activiteitn) {
        case  1: activiteitn = 1.2;
        break;
        case  2: activiteitn = 1.375;
        break;
        case  3: activiteitn = 1.55;
        break;
        case  4: activiteitn = 1.725;
        break;
        case  5: activiteitn = 1.9;
        break;
        default: alert("hoi");
        break;
        }
Run Code Online (Sandbox Code Playgroud)

问题是,即使我填写数字1,它也会跳转到默认情况,导致它发出警报.如果我在案例1中发出警报,警报未显示.我想到的第一件事是活动不是1,所以在切换后我又发出了另一个警报:

        alert (activiteitn);
Run Code Online (Sandbox Code Playgroud)

现在,首先发生的事情是我得到警报"hoi",然后我得到了activiteitn的第二个警告说:1.所以在那之后我想,"也许它是一个字符串",所以我将案例改为字符串如:case "1"和案例("1"),但这也不起作用.问题,它始终是默认情况,我无法弄清楚为什么会这样,我希望有人看到我做错了什么,可以帮助我.

javascript jquery default case switch-statement

2
推荐指数
1
解决办法
448
查看次数

标签 统计

javascript ×3

c ×1

case ×1

default ×1

integer ×1

jquery ×1

numbers ×1

octal ×1

switch-statement ×1