Javascript 单击事件后输入值内的2个小数步

Javascript 单击事件后输入值内的2个小数步,javascript,jquery,Javascript,Jquery,加减浮点数的问题 所以如果它从0.2开始 0.2+0.2=0.4 0.4+0.2=0.6000000000000001(应为0.6) 我发现我必须使用“toFixed(2)”,但这是字符串?为了使代码正常运行,我需要对代码进行更改: // The button to increment the product value $(document).on('click', '.product_quantity_up', function(e){ e.preventDefault();

加减浮点数的问题

所以如果它从0.2开始

0.2+0.2=0.4

0.4+0.2=0.6000000000000001(应为0.6)

我发现我必须使用“toFixed(2)”,但这是字符串?为了使代码正常运行,我需要对代码进行更改:

// The button to increment the product value
$(document).on('click', '.product_quantity_up', function(e){
    e.preventDefault();
    var arrayData = $(this).data('field-qty');
    var arr = arrayData.split(';');
    for (i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    fieldName = arr[0];
    var currentVal = parseFloat($('input[name='+fieldName+']').val());
    var minimalVal = parseFloat($('input[name='+fieldName+']').attr("data-minimal_quantity"));

    if (!isNaN(currentVal) && currentVal < minimalVal) {
        $('input[name='+fieldName+']').val(minimalVal);
        $(this).parent().parent().find(".ajax_add_to_cart_button").attr("data-minimal_quantity",minimalVal);
    }
    else {
        $('input[name='+fieldName+']').val(currentVal + parseFloat(arr[1])).trigger('keyup');
        $(this).parent().parent().find(".ajax_add_to_cart_button").attr("data-minimal_quantity",currentVal + parseFloat(arr[1]));
    }

    $('#'+fieldName).change();



});
//增加产品价值的按钮
$(文档)。在('单击','上。产品数量增加',函数(e){
e、 预防默认值();
var arrayData=$(this).data('field-qty');
var arr=arrayData.split(“;”);
对于(i=0;i
您遇到的问题是浮点数如何存储信息。 如果您需要使用精确的小数位数,我建议您使用整数并格式化输出,以将最后n个位置反映为小数

例如,使用2位小数,
1.00
实际上是
100

0.2+0.2=0.4
将按
20+20=40


要将其打印给用户,需要将整数值解析为字符串,并将输出格式化为
“0.40”
(字符串)

问题在于浮点数如何存储信息。 如果您需要使用精确的小数位数,我建议您使用整数并格式化输出,以将最后n个位置反映为小数

例如,使用2位小数,
1.00
实际上是
100

0.2+0.2=0.4
将按
20+20=40


要将其打印给用户,您需要将整数值解析为字符串,并将输出格式化为
“0.40”
(字符串)

您的小提琴将该字段作为字符串,因此该值将是字符串。除非我误解了你对使用toFixed的犹豫。你的fiddle的可能副本将字段作为一个字符串,因此值将是一个字符串。除非我误解了你对使用toFixed的犹豫不决。你能举个例子吗?不,这对我来说是不可能的。十进制数来自DB。可以有不同的浮点数,比如(1.5,0.5,0.2,0.3)你能举个例子吗?不,我不可能。十进制数来自DB。可以有不同的浮点数,如(1.5,0.5,0.2,0.3)