JQuery将货币/货币四舍五入到小数点后

时间:2016-07-12 07:20:07

标签: jquery rounding currency

如何使用

的算术约定将金额四舍五入到两位小数
  

167,7451四舍五入为167,75

     

12,1819784舍入为12,18

注意我想以算术方式进行操作并返回浮点数而不是字符串,因此我不会搜索简单的格式化解决方案。

到目前为止,我发现了以下内容:

amount = 167.7451;
rounded = (amount.toFixed(2));
alert(rounded);

然而toFixed()的结果是一个字符串,所以如果我需要做更多的计算,我需要再次将字符串解析为浮点数。

.toPrecision方法反而想知道我需要多少位数,以便将数量四舍五入到我需要的两位小数:

amount = 167.7451;
alert(amount.toPrecision(5));

这太荒谬了,因为我需要先知道我在小数点前有多少位数。

1 个答案:

答案 0 :(得分:-1)

167.7451 is rounded to <span class="result1"></span>
<br>By adding 10 result is: <span class="result2"></span>
<br>By adding rounded 0.254999 result is: <span class="result3"></span>

<script type="text/javascript">
    window.jQuery(document).ready(function($){
        function my_round(num) {
            return Math.round(num * 10 * 10) / 100;
        }

        var amount = 167.7451,
            amount1 = my_round(amount),
            amount2 = amount1 + 10,
            amount3 = amount2 + my_round(0.254999);


        window.jQuery('.result1').text( amount1 );
        window.jQuery('.result2').text( amount2 );
        window.jQuery('.result3').text( amount3 );
    });
</script>

更新的代码应该有效。