Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入值是字符串而不是数字_Javascript_Html - Fatal编程技术网

Javascript 输入值是字符串而不是数字

Javascript 输入值是字符串而不是数字,javascript,html,Javascript,Html,当我向输入中添加一个数字时,它不会改变保持在5的值,当我进入控制台并键入uw.value时,我得到的是“6”,而不是我在web上输入的6。如何获得一个数字而不是字符串 <form> <input type="number" id="wakken" type="number" value=5><br> <input max="30" min="0" name="ijsberen" placeholder="Ijsberen" id="ijs

当我向输入中添加一个数字时,它不会改变保持在5的值,当我进入控制台并键入uw.value时,我得到的是“6”,而不是我在web上输入的6。如何获得一个数字而不是字符串

<form>
    <input type="number" id="wakken" type="number" value=5><br>
    <input max="30" min="0" name="ijsberen" placeholder="Ijsberen" id="ijsberen" type="number" value= "5"><br>
    <input max="30" min="0" name="wakken" placeholder="Penguins" id="penguins" type="number" value= 0><br>
    <input type="button" value="submit" onclick="check()">
</form>      

对于小数,可以使用
parseFloat(value)
将值从字符串转换为数字;对于整数,可以使用
parseInt(value)

例如:

// uw will refer to the numerical value of the element with id = wakken
var uw = parseInt(document.getElementById("wakken").value);
(对于
元素)是一个字符串

使用以下方法之一将数字字符串转换为正确的数字:

parseInt(值,10);//从左到右将字符串解析为整数(整数)。
parseFloat(值);//从左到右将字符串解析为浮点数(十进制)。
数字(值);//将整个字符串转换为数字。

或者,在值之前添加一元
+

+值;//相当于`数字(值)`。
要完全确保您的
值是一个数字,您还可以执行以下操作:

if(!isNaN(parseFloat(el.value))和&isFinite(el.value)){
//如果元素的值是数字(或字符串中的数字),则为true
}
例如:

// uw will refer to the numerical value of the element with id = wakken
var uw = parseInt(document.getElementById("wakken").value);
var-uw=document.getElementById(“wakken”);
var ui=document.getElementById(“ijsberen”);
var up=document.getElementById(“企鹅”);
//日志字符串
console.log(uw.value);//"5"
console.log(ui.value);//"5"
console.log(up.value);//"0"
//日志编号
console.log(编号(uw.value));//5.
console.log(+uw.value);//5.
console.log(parseInt(ui.value,10));//5.
console.log(parseFloat(up.value));//0

不要忘记阅读文档:


签出
HTMLInputElement.

元素的值,按顺序解释为以下值之一:

  • 时间值
  • 如果无法进行转换,则为null
  • var testInput=document.getElementById(“测试输入”);
    函数handleInput(e){
    var值=此.valueAsNumber;
    日志(“类型:%s,值:%o”,类型值,值);
    }
    testInput.addEventListener(“输入”,handleInput);
    handleInput.call(testInput)
    

    将记录“works!uw”是一个int”,因为我们收集了值并使用
    parseInt(\uuw:String)
    将其转换为int。

    我需要在哪里添加parseFloat(值)在代码中的何处可以对我的代码进行编辑please@KnackKwenie我在我的答案中添加了一个示例。当我这样做时,我会得到意外的token var或意外的token;佳能你能改进我的答案吗?@佳能不要弄乱
    的类型
    ,使用
    !isNaN(parseFloat(value))&&isFinite(value)date
    time
    的“自1970年1月1日午夜起的毫秒数”。
    var uw = parseInt(document.getElementById("wakken").value, 10); // (value, radix)
    if (typeof uw === "number") console.log("works! 'uw' is an int");