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

How to add decimal point from a string into a numerical value

本文关键字:添加 小数点 字符串      更新时间:2023-09-26

当我通过这个代码输入数字时,我希望能够有一个小数点,代码的作用是,当你输入数字时它只显示数字,就像我点击两次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>

问题是,在字符串有机会显示之前,您正在对其调用parseFloat。根据parseFloat的规则,将参数1.解析为1,并去掉小数点后的位置。

为了解决这个问题,我会尝试这样的方法:

		var number = '';
		var number1 = '';
		var number2 = '';
		function selectNum(num)
		{
			number += num;
			document.getElementById("outputbox").innerHTML = number;
			if (!number.slice(-1) == '.') {
				number = parseFloat(number);
			}
		}
		<button onclick = "selectNum('7')">7</button>
		<button onclick = "selectNum('8')">8</button>
		<button onclick = "selectNum('9')">9</button>
		<br />
		<button onclick = "selectNum('4')">4</button>
		<button onclick = "selectNum('5')">5</button>
		<button onclick = "selectNum('6')">6</button>
		<br />
		<button onclick = "selectNum('1')">1</button>
		<button onclick = "selectNum('2')">2</button>
		<button onclick = "selectNum('3')">3</button>
		<br />
		<button onclick = "selectNum('0')">0</button>
		<button onclick = "selectNum('.')">.</button>
		<div id="outputbox"></div>

现在唯一剩下的问题是字符串中允许使用多个小数。