Tag: parseint

混淆int转换

我正在写一个节点js程序,执行下面的操作。 得到JSON。 parsing它。 打印到控制台。 目前我能够非常顺利地完成以上三件事情。 但是我的问题出现在这里。 我试图从json转换为int值。 以下是我的样本数据。 { "Items": [ { "accountId": "12345", "pin": "1234", "userId": "user1", "dueDate": "5/20/2017", "_id": "2", "dueAmount": "4000", "totalBalance": "10000" } ], "Count": 1, "ScannedCount": 4 } 从上面的json我需要int格式的dueAmount ,所以我尝试了下面的代码。 var userDueDate = JSON.stringify(res.Items[0].dueDate); var userDueAmount = JSON.stringify(res.Items[0].dueAmount); var userTotalBalance = JSON.stringify(res.Items[0].totalBalance); var intUsingNumber = Number(userDueAmount); var intUsingParseInt = parseInt(userDueAmount); […]

JavaScript按位屏蔽

这个问题与其他问题类似, 不过,我想了解为什么这样工作。 以下代码: console.log((parseInt('0xdeadbeef', 16) & parseInt('0x000000ff', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0x0000ff00', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0x00ff0000', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0xff000000', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0x000000ff', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0x0000ffff', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0x00ffffff', 16)).toString(16)); console.log((parseInt('0xdeadbeef', 16) & parseInt('0xffffffff', 16)).toString(16)); 返回: ef be00 ad0000 -22000000 ef beef adbeef -21524111 当我期望从.string(16)将是: ef be00 […]

parseInt()不正确地parsing带有指数的数字文字

我刚刚观察到, parseInt函数并不关心整数(包含e字符的数字)的小数位数。 我们举个例子: -3.67394039744206e-15 > parseInt(-3.67394039744206e-15) -3 > -3.67394039744206e-15.toFixed(19) -3.6739e-15 > -3.67394039744206e-15.toFixed(2) -0 > Math.round(-3.67394039744206e-15) 0 我预计parseInt也将返回0 。 什么事发生在较低的水平? 为什么parseInt在这种情况下返回3 (从源代码中的一些片断将不胜感激)? 在这个例子中,我使用了node v0.12.1 ,但我期望在浏览器和其他JavaScript引擎中node v0.12.1发生这种情况。

为什么我在node.js中使用parseInt得到奇怪的结果? (与Chrome js控制台不同的结果)

我只注意到: //IN CHROME JS CONSOLE parseInt("03010123"); //prints: 3010123 //IN NODE.JS parseInt("03010123"); //prints: 790611 既然都是基于V8,为什么同样的操作产生不同的结果?