如何在输入框中加倍浮点值

时间:2013-11-20 14:27:52

标签: javascript jquery

我通过此代码获得浮点值

currentvalue=$("#double_your_btc_stake").val();

但是当我尝试写出旧值的两倍

currentvalue*=2;$("#double_your_btc_stake").val(currentvalue);

但它写入输入框

2E-8

我做错了什么

http://jsfiddle.net/62jJM/

2 个答案:

答案 0 :(得分:0)

试试这个: - http://jsfiddle.net/adiioo7/LCmjG/1/

<强> JS: -

jQuery(function ($) {
    $("#Double").on("click", function () {
        var currentvalue = $("#double_your_btc_stake").val();
        currentvalue *= 2;
        $("#double_your_btc_stake").val(longnumberstring(currentvalue));
    });
});

function longnumberstring(n) {
    var str, str2 = '',
        data = n.toExponential().replace('.', '').split(/e/i);
    str = data[0], mag = Number(data[1]);
    if (mag >= 0 && str.length > mag) {
        mag += 1;
        return str.substring(0, mag) + '.' + str.substring(mag);
    }
    if (mag < 0) {
        while (++mag) str2 += '0';
        return '0.' + str2 + str;
    }
    mag = (mag - str.length) + 1;
    while (mag > str2.length) {
        str2 += '0';
    }
    return str + str2;
}

<强> HTML: -

<input type="text" id="double_your_btc_stake" style="width:500px" />
<input type="button" id="Double" value="Double" />

使用 Reference 将指数转换为长字符串。

答案 1 :(得分:-2)

只需使用:

parseFloat($("#yourId").val())