0

我在进行简单加法并将值保存在变量中时遇到问题。

基本上我有以下代码:

    var accsen;
    var lowsev = parseInt(accsen);
    var hisev = parseInt(accsen) + parseInt(0.65);

    console.log('Lowsev: ' + lowsev);
    console.log('Hisev: '  + hisev + ' Type: ' + typeof(hisev));
    console.log('Accsen: ' + accsen);

变量 accsen 正在从数据库中获得一个值。Lowsev 被赋予与 accsen 相同的值,而 hisev 被赋予 accsen + 0.65 的值。

但是我遇到的问题是 lowsev 和 hisev 都保持为 0。在执行 console.log 时,我得到了这些值:

Lowsev:0 Hisev:0 类型:未定义 Accsen:0.75

谁能告诉我我在加法中做错了什么?我是否使用了正确的运算符?

4

2 回答 2

2

听起来你想使用parseFloat而不是parseInt.

于 2012-12-31T00:38:40.377 回答
1

“Lowsev 被赋予与 accsen 相同的值” 不是,您将其四舍五入为整数。

parseInt()不正确地四舍五入。0.75 输出为 0,所以它工作正常。假设您实际上想要四舍五入这些值,请尝试

var accsen;
var lowsev = Math.round(accsen);
var hisev = Math.round(accsen) + Math.round(0.65);

编辑给出的回应

您的 JS 将 accsen 视为字符串,您需要转换为数字

var accsen = '0.75'; // as other people have noted this val in your code is missing.
var lowsev = parseFloat(accsen);
var hisev = parseFloat(accsen) + 0.65;
于 2012-12-31T00:35:38.887 回答