如何将数字输入保持为数字数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数字输入保持为数字数据类型相关的知识,希望对你有一定的参考价值。

let a = prompt ("Input value of 'a'", );
let b = prompt ("Input value of 'b'", );

alert(a);
alert(b);
alert(a + b);

Number(a);
Number(b);

if ( a + b < 4){
    result = 'Below';
} else {
    result = 'Over';
}

alert (result);

所以我做了一些javascript练习,我遇到了上面的一些问题。

输出,例如a = 1,b = 2,而不是a + b = 3,结果是a + b = 12。

我认为javascript自动识别数字作为数字数据类型,特别是使用数学运算符。

我试过了:

let a = prompt ("Input value of 'a'", Number());

专门将输入值转换为数字数据类型,但问题仍然存在,这让我感到困惑。

提前感谢任何帮助!!

答案

你得到ab作为字符串,所以a+b附加到字符串。

首先,您需要将其转换为数字,然后执行+操作。

    let a = prompt ("Input value of 'a'", );
    let b = prompt ("Input value of 'b'", );

    a = Number(a);
    b = Number(b);

    alert(a);
    alert(b);
    alert(a + b);

    if ( a + b < 4){
        result = 'Below';
    } else {
        result = 'Over';
    }

   alert (result);

工作演示在这里:

let a = "1" // value from prompt
let b = "2" // value from prompt

a = Number(a);
b = Number(b);

console.log(a);
console.log(b);
console.log(a + b);

if (a + b < 4) {
  result = 'Below';
} else {
  result = 'Over';
}

console.log(result);
另一答案

功能Number()工作正常,但您的问题是您没有将值重新分配给变量。

你需要像这样分配:a = Number(a)。这是你的代码应该如何:

let a = prompt ("Input value of 'a'");
let b = prompt ("Input value of 'b'");

console.log("Before Number");
console.log("a: "+a+"   b: "+b+ "    a + b: "+(a + b));

a = Number(a);
b = Number(b);

let result = '';

if ( a + b < 4){
    result = 'Below';
} else {
    result = 'Over';
}

console.log("After Number");
console.log("a: "+a+"   b: "+b+ "    a + b: "+(a + b));

console.log(result);

以上是关于如何将数字输入保持为数字数据类型的主要内容,如果未能解决你的问题,请参考以下文章

flutter TextField 限制只允许输入数字 小数点

flutter TextField 限制只允许输入数字 小数点

Jquery:如何根据属性值将按键事件绑定到输入类型“数字”[重复]

如何将科学数字转换为一般数字

在 R 中使用混合类型将嵌套列表中的字符数字转换为数字

SAS:将字符变量转换为数字,如果输入的某些字段只有0,则保持全0