Javascript 单击事件后输入值内的2个小数步
加减浮点数的问题 所以如果它从0.2开始 0.2+0.2=0.4 0.4+0.2=0.6000000000000001(应为0.6) 我发现我必须使用“toFixed(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();
// 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)