我试图获取一个变量并从中拉出值以将其四舍五入到最近的第100个。我不确定我做错了什么。基本上,我需要它看起来像:
“103.19999999999999”应该舍入为“103.2”
“97.2333333333”应该舍入为“97.24”
以下是代码:
JS
$sendAmount = "103.19999999999999"; //this can change based on user input.
//Update the Amount
function $convFee () {
Math.ceil($sendAmount.val() * 100) / 100;
};
$input.keyup($convFee);
答案 0 :(得分:1)
您在计算中使用字符串$sendAmount.val()
。
您需要进行此转换:
parseFloat($sendAmount.val())
答案 1 :(得分:1)
103.19999999999999.toFixed(2) // "103.20"
97.2333333333.toFixed(2) // "97.23"
答案 2 :(得分:0)
您的代码看起来很接近:
Math.ceil(97.2333333333 * 100) / 100;
= 97.24
和
Math.ceil(103.19999999999999 * 100) / 100
= 103.2
因此错误必须在处理变量中。
看起来$sendAmount = "103.19999999999999";
是一个字符串,但是你的代码调用$sendAmount.val()
,这会引发一个类型错误$sendAmount.val() is not a function
。
如果您正在接受一个字符串,您可能需要将其转换为浮点数,如下所示:
$sendAmount = "103.19999999999999"; //taking in a string value for a float
//Update the Amount
function $convFee () {
Math.ceil(parseFloat($sendAmount) * 100) / 100; //convert to float, don't call .val() on string variable
};
$input.keyup($convFee);