Javascript 如何将字符串中的小数点添加到数值中
当我通过这个代码输入数字时,我希望能够有一个小数点,代码的作用是,当你输入数字时,它只显示数字,就像我点击5两次,它将是55,但是如果我想要5.5,我将如何做呢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"
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按钮