javascript - Javascript中输入的逗号分隔数字
问题描述
在下面的过程中,输入数字 9999 是没有问题的。
但是,当输入为 9,999 时,结果为 NaN。
如何进行编辑?我需要能够使用漫画数字。
我取输入中输入的数字的百分比并将其打印到下面的输入中。
function yirmibes() {
num1 = document.getElementById("firstNumber").value;
document.getElementById("result").value = (num1 / 100) * 25;
}
function elli() {
num1 = document.getElementById("firstNumber").value;
document.getElementById("result").value = (num1 / 100) * 50;
}
function format(input) {
var nStr = input.value + '';
nStr = nStr.replace(/\,/g, "");
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
input.value = x1 + x2;
}
Number: <input type="text" id="firstNumber" onkeyup="format(this)" />
<br/><br/>
<input type="button" onClick="yirmibes()" Value="25%" />
<input type="button" onClick="elli()" Value="50%" />
<br/><br /> The Result is :
<input type="text" id="result" Value="" />
解决方案
计算结果时去掉逗号:
function yirmibes()
{
num1 = document.getElementById("firstNumber").value.replace(',', '');
document.getElementById("result").value = (num1 / 100) * 25;
}
function elli()
{
num1 = document.getElementById("firstNumber").value.replace(',', '');
document.getElementById("result").value = (num1 / 100) * 50;
}
推荐阅读
- python - 如何使用 Pandas read_csv?
- c# - 构建动态过滤器表达式
- azure-sql-database - 互联网中断时如何访问我的 Azure Sql 数据库?
- php - PHP escape_string 返回 0。注册系统
- deep-learning - DNN - 使用灰度图像而不是 RGB 进行训练是个好主意吗
- symfony4 - 在 SonataAdmin 类中添加查询 (Symfony4)
- javafx - Java fx - 使用 QuadCurve 和多边形(三角形)绑定的曲线箭头
- c# - Xamarin.Forms 从“简单”列表创建动态的、未绑定的列
- matlab - 为什么我的去噪图像在使用非局部均值算法后会变暗,为什么噪声没有显着降低?
- makefile - Make:取决于目标的可变需求