【问题标题】:Rounding numbers in jQuery issuejQuery问题中的舍入数字
【发布时间】:2023-03-18 17:09:01
【问题描述】:

无法理解为什么当您滑动时此代码未对块 1/2/3 中的值进行舍入。 Here is the link for this example.

$(function () {
    $("#slider-range-min").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 1000,
        slide: function (event, ui) {
            $("#amount").val(ui.value + ",000" + " руб.");

            $('.number').each(function () {
                var curval = $(this).data('summary');
                var newval = parseInt($(this).val(curval - ui.value * 0.08))

                if (!curval >= $(this).val()) {
                    $(this).val('It is free now')
                }
            });
        }
    });

【问题讨论】:

  • 当您使用$(this).val(curval - ui.value * 0.08) 将值设置为浮点数时,我看不到任何舍入。您可能打算将parseInt 放在val() 中?
  • 哈哈。非常感谢。显而易见的事情让我很痛苦。现在好了。
  • 请不要把jQuery的东西命名为jq,这是一个命令行JSON解析实用程序。

标签: javascript jquery rounding


【解决方案1】:

我认为您在这段代码中尝试做的太多了:

var newval = parseInt($(this).val(curval - ui.value * 0.08))

这部分改变了值,但不做任何舍入:

$(this).val(curval - ui.value * 0.08)

它返回一个 jQuery 对象,然后您使用 parseInt() 调用它,导致 newval 成为 NaN

改为这样做:

var newval = parseInt(curval - ui.value * 0.08);
$(this).val(newval);

Updated CodePen

【讨论】:

  • 是的!谢谢。它有帮助。我会将此答案标记为正确!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 2020-09-17
  • 2012-11-24
相关资源
最近更新 更多