选择数字然后格式化为2位小数

时间:2015-05-08 18:32:42

标签: javascript jquery

我正在尝试编写一些代码来执行以下操作;

  1. 为第n个孩子添加ID
  2. 将第n个孩子的数字格式化为2个小数位
  3. 在数字前面应用£
  4. 循环直到表格中的每个第n个孩子都完成
  5. 我有这样的数字到圆形“0.7823076923076923”使用我有的代码我可以得到它向上舍入到“1”但我需要它舍入到0.78我然后添加“toFixed(2)”并且它取我的“1”然后把它放到“1.00”但是我需要它去“0.78”然后我就可以看看如何循环代码,但是小步骤。

    感谢您的帮助。

    代码:

    <script>
    $(document).ready(function(){
        $('table>tbody>tr>td:nth-child(5n)').prop('id', 'test');
        $('#test').text(function(i,v) {
            return Math.round(parseInt(v * 100) / 100).toFixed(2);
        });
    });
    </script>
    

    UPDATE 我得到了它的工作!!!

        $(document).ready(function(){
        $('table>tbody>tr>td:nth-child(5n)').prop('id', 'test');
        var test = parseFloat($('#test').text()).toFixed(2);
        $('table>tbody>tr>td:nth-child(5n)').empty().append(test);
    });
    

    现在让它循环,

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

将数字四舍五入到n小数位:

var n = 2;
var number = 0.7823076923076923;
var result = Math.round(number * Math.pow(10,n)) / Math.pow(10,n);
result = result.toFixed(n);

更新:

对于更可重用的选项,您可以定义自定义舍入函数:

function roundTo (value, n) {
    var result = Math.round(value * Math.pow(10,n)) / Math.pow(10,n);
    return result.toFixed(n);
}

var foo = roundTo(0.7823076923076923, 2); // 0.78