Javascript 添加整数

标签 javascript integer

如何在 Javascript 中将一个简单整数与另一个整数相加?

我将 NaN 作为总值。

<script type="text/javascript">
var total = 0;
document.getElementById("dds1").onkeyup = function() {
    total = total + parseInt(this.value,10);
    updateIt();

};

function updateIt() {
//tofixed(2)
    document.getElementById("mySpan").innerHTML = total;
}

但如果我执行以下操作:

total = parseInt(this.value,10);

然后 total 有一个值(一个整数值)。

最佳答案

问题是您执行加法 读取每个键上的输入值。例如,如果用户按 BACKSPACE 键清除输入,则该值将为空字符串,这将在 parseInt 后产生 NaN。一旦你有了 NaN(在你的 total 变量中),你就不能再摆脱它了。

试试这个:

document.getElementById('dds1').onkeyup = function() {

    var value = parseInt(this.value, 10);

    if ( !isNaN(value) ) {
        total += value;
        updateIt();    
    }

};

在这里,您首先检查输入值是否可以解析为数字。如果不是,您只需忽略它即可。


另一种方法是这样的:

document.getElementById('dds1').onkeyup = function() {
    var value = parseInt(this.value, 10);

    isNaN(value) && return;

    total += value;
    updateIt();
};

在这里,如果您读取一个无法转换为数字的输入值,您只需将函数完全返回即可。

关于Javascript 添加整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820827/

相关文章:

javascript - 当我编写脚本时,它显示 ReferenceError : theWidth is not defined

javascript - Webapp 在 Chrome 中隐藏 Android 导航栏(虚拟后退、主屏幕等按钮)(通过 javascript)

javascript - 检测用户对使用 Jquery ".html()"创建的 <select> 列表的更改

c# - 有没有办法让 Int 变量等于(==)数组中存储的所有数字?

ios - Swift 转换,CGFloat 到 Integer

javascript - 简单的 Ajax 自动完成示例,无法使用 PHP

c - 从 libpcap 捕获中提取数据包长度

javascript - javascript中整数、字符串和数组作为函数参数传递时有什么区别

用于切片的 Python 整数无穷大

javascript - 使用 ag-grid 中的分组功能构建我们自己的 cellRenderer