JS Math - 获取Var Val&舍入到最接近的100

时间:2015-05-08 17:56:01

标签: javascript jquery math

我试图获取一个变量并从中拉出值以将其四舍五入到最近的第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);

3 个答案:

答案 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);