javascript - 四舍五入为整数
问题描述
我这里有一个计算付款费用的 HTML 代码。如何将整数值四舍五入?我试过Math.round()
了,但还是不行。有没有办法将NaN
值替换为零?
<div class="collapse" id="pera-padala">
<div class="card card-body">
<div class="form-element">
<span>B. Input ang amount na ipapadala </span>
<input name="entry.1812134286" id="padala-pera" type="number" required="">
</div>
<br>
<div class="form-element">
<span>C. Total Babayaran: <span id="padala-result"></span>
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
$('#padala-pera').keyup(function(){
if (jQuery('#padala-pera').val() <= 1000) {
jQuery('#padala-result').text("₱".concat(parseFloat($('#padala-pera').val())+30));
}
else if (jQuery('#padala-pera').val() > 1000) {
jQuery('#padala-result').text("₱".concat(parseFloat($('#padala-pera').val())+(parseFloat(jQuery('#padala-pera').val())*.03)));
}
});
</script>
这是我的 jsfiddle 链接:https ://jsfiddle.net/sodium05/u3qdyh51/15/
解决方案
您可以大大简化您的代码。Math.round() 工作正常,但您需要确保将字符串转换为数字(从 HTML 元素派生的任何值都是字符串,即使它来自 Number 元素)。您的代码在某些地方有 parseInt,但在条件句中没有。我喜欢使用+
str -> num 转换的速记前缀
$('#padala-pera').keyup(function() {
let n = +$(this).val()
if (n <= 1000) n += 30
else n += n * .03;
$('#padala-result').text(`₱${Math.round(n)}`)
})
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"></script>
<div class="collapse" id="pera-padala">
<div class="card card-body">
<div class="form-element">
<span>B. Input ang amount na ipapadala </span>
<input name="entry.1812134286" id="padala-pera" type="number" required="">
</div>
<br>
<div class="form-element">
<span>C. Total Babayaran:
<span id="padala-result"></span>
</span>
</div>
</div>
</div>
推荐阅读
- sql - 减去两行并在 Sql Server 中保留具有相同 ID 的最新行
- c++ - 创建一个始终返回零但优化器不知道的函数
- r - 字典不受输入影响?
- swift4 - iOS swift4 的 Paytm 集成中 Order_id 无效
- javascript - 在挂起的 ajax 获取期间重新加载页面
- c++ - std::string::reserve 不能创建精确容量的 std::string
- java - 使用分页按日期对 Recyclerview 项目进行分组
- php - Symfony 2.8 中的表单不显示错误
- android - 升级安装了 Android-Studio Ubuntu 18.04 的 CMake 版本
- python - 如何将 mock.patch (unittest) 应用于菜单选择功能(用户输入驱动)