如何通过jQuery实现点击按钮将获取的API数值提升10%?
解决数值提升10%的问题
你的代码问题出在数值计算的语法和逻辑错误:
- JavaScript里没有
10%这种写法,百分比需要转成小数(10%即0.1) - 提升10%是原数值的110%,应该用
原数 * 1.1,而不是原数 * 0.1
修正后的代码如下:
$('#orderBookPrice button[value="lowerBuy"]').on('click', function(e){ e.preventDefault(); // 获取文本并转为数值 const originalPrice = parseFloat($('#bids table tr:first-of-type td:first-of-type').text()); // 计算提升10%后的数值 const increasedPrice = originalPrice * 1.1; // 赋值到输入框,可根据需求用toFixed保留小数位数,比如保留2位:increasedPrice.toFixed(2) $("#lowerPriceLimit").val(increasedPrice); });
关键说明:
- 使用
parseFloat()把获取到的文本字符串转为浮点数,避免字符串拼接错误 - 若需要固定小数位数(比如金融场景常用2位),可以改成
$("#lowerPriceLimit").val(increasedPrice.toFixed(2));,注意toFixed()会返回字符串,若需要数值类型可再转一次 - 如果获取到的文本可能包含非数字字符,建议先做合法性校验,比如:
if (!isNaN(originalPrice)) { $("#lowerPriceLimit").val(increasedPrice); } else { // 处理无效数值的情况,比如提示用户 $("#lowerPriceLimit").val('无效价格'); }
内容的提问来源于stack exchange,提问作者TorNetwork
相关产品推荐
相关产品推荐

