验证中的计算不匹配

巴拉德瓦(Bharadwaj)

我的JavaScript验证有问题。

在if条件中,我正在检查几个文本框值,这些值始终为十进制,但是if条件返回true以下内容!(我检查了chrome控制台中的数字)。

76.02 != 61.02 + 15

但是,对于以下情况,它返回false。

76.02 != 61 + 15.02

当我检查61.02+15它返回76.0200000000000161+15.02 = 76.02

谁能告诉我为什么?

以及如何解决这样的问题?

代码

if (getNumber($(this).find('[id$="txtAllowed"]').val()) !=
    (getNumber($(this).find('[id$="txtPayment"]').val())
    + getNumber($(this).find('[id$="txtBal"]').val()))
{
}

function getNumber(val) {
    if (val.trim() == "") {
        return 0;
    } else if (isNaN(val.trim())) {
        return 0;
    }
    return parseFloat(val.trim());
}

谢谢你。

瓦西里·范丘克(Vasiliy Vanchuk)

尝试使用round()或您的情况下.toFixed()

(12121.3243434).toFixed(2)

toFixed()方法将数字转换为字符串,并保留指定的小数位数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章