显示大数字逗号:JavaScript

时间:2014-08-22 03:36:59

标签: javascript

我正在开发一个自定义计算器,除了我无法弄清楚如何让生成的数字在数字中显示逗号之外,它工作得非常好。例如,当我需要它说“450,000”时,它可能吐出“450000”。 This thread提供了一些关于如何创建一个新函数来解决问题的建议,但我对JavaScript很新,我真的不知道如何让这样的函数与我现在拥有的相互作用。对于如何用逗号生成数字,我真的很感激! :)

HTML:         

    <table id="inputValues">
        <tr>
        <td>Percentage:</td>
        <td><input id="sempPer" type="text"></td>
        </tr>

        <tr>
        <td>Price:</td>
        <td><input id="unitPrice" type="text"></td>
        </tr>

        <tr>
        <td colspan="2"><input id="button" type="submit" value="Calculate"></td>
        </tr>
    </table>

    <table id="revenue" class="TFtable">
    <tr>
    <td class="bold">Market Share</td>
    <td class="bold">Partner A</td>
    <td class="bold">Partner B</td>
    </tr>

    <tr>
    <td class="bold">1%</td>
    <td><span id="moss1"></span></td>
    <td><span id="semp1"></span></td>
    </tr>

    </table>

    </form>

JavaScript:

<script>
    function calc() {
        var z = Number(document.getElementById('sempPer').value);
        var x = Number(document.getElementById('unitPrice').value);
        var y = z / 100;
        var dm1 = .01 * 50000 * x * (1-y);
        var se1 = .01 * 50000 * x * y;


            document.getElementById("moss1").innerHTML= "$"+Number(dm1).toFixed(2);
            document.getElementById("semp1").innerHTML= "$"+Number(se1).toFixed(2);
    }
</script>

2 个答案:

答案 0 :(得分:0)

使用这个很酷的库改善您的号码显示。

https://github.com/HubSpot/humanize

一瞥有用的API。

Humanize.formatNumber(123456789, 2)
// "123,456,789.00"

Humanize.intComma(123456789)
// "123,456,789"

Humanize.compactInteger(-7832186132456328967, 4)
// "-7.8322x10^18"

非常酷〜

答案 1 :(得分:-1)

尝试.toLocaleString()而不是.toFixed()。