Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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_Onclick_Decimal - Fatal编程技术网

Javascript 如何将字符串中的小数点添加到数值中

Javascript 如何将字符串中的小数点添加到数值中,javascript,html,onclick,decimal,Javascript,Html,Onclick,Decimal,当我通过这个代码输入数字时,我希望能够有一个小数点,代码的作用是,当你输入数字时,它只显示数字,就像我点击5两次,它将是55,但是如果我想要5.5,我将如何做呢 var number = ''; var number1 = ''; var number2 = ''; function selectNum(num) { number += num; number = parseInt(number); document.getElementById("outputbox"

当我通过这个代码输入数字时,我希望能够有一个小数点,代码的作用是,当你输入数字时,它只显示数字,就像我点击5两次,它将是55,但是如果我想要5.5,我将如何做呢

var number = '';
var number1 = '';
var number2 = '';
function selectNum(num) 
{
    number += num;
    number = parseInt(number);
    document.getElementById("outputbox").innerHTML = number;
}


<button onclick = "selectNum('7')">7</button>
<button onclick = "selectNum('8')">8</button>
<button onclick = "selectNum('9')">9</button>
<button onclick = "selectNum('4')">4</button>
<button onclick = "selectNum('5')">5</button>
<button onclick = "selectNum('6')">6</button>
<button onclick = "selectNum('1')">1</button>
<button onclick = "selectNum('2')">2</button>
<button onclick = "selectNum('3')">3</button>
<button onclick = "selectNum('0')">0</button>
<button onclick = "selectNum('.')">.</button>
var编号=”;
var number1='';
var number2='';
函数selectNum(num)
{
数字+=num;
number=parseInt(number);
document.getElementById(“outputbox”).innerHTML=number;
}
7.
8.
9
4.
5.
6.
1.
2.
3.
0
.

问题在于,在字符串有机会显示之前,您正在对其调用
parseFloat
。根据
parseFloat
的规则,参数
1.
被解析为
1
,小数点被删除

要解决此问题,我将尝试以下方法:

var编号=”;
var number1='';
var number2='';
函数selectNum(num)
{
数字+=num;
document.getElementById(“outputbox”).innerHTML=number;
如果(!number.slice(-1)='。){
number=parseFloat(number);
}
}
7
8.
9

4. 5. 6.
1. 2. 3.
0 .
55是一个很糟糕的例子。。如果按5,然后按3,预期的输出是什么?@ScottHunter使用parseInt或parseFloat解析55在当前情况下没有任何区别,因为OP在生成数字小数时缺少逻辑。如果要两次单击
5
表示5.5,
按钮的意义是什么?不,我的意思是当我两次单击5时,我得到55,但我希望当我单击按钮时,它是5.5。ScottHunter按钮