如何解析一个大十进制数只到小数点后两位?

时间:2012-10-08 18:48:27

标签: javascript jquery html5

  

可能重复:
  How is floating point stored? When does it matter?

以下是3个选项和2个不同问题的示例。 http://jsfiddle.net/pEpFA/7/

  1. 选项1 - 正确显示地面/显示。
  2. 选项2 - 表示/省略值
  3. 中的'0'
  4. 选项3 - 隔夜/添加000000000000000到总数。
  5. 我如何让它正常工作?我希望结果显示为选项1.这是一个javaScript错误吗?

    HTML

    <label><input type="radio" name="print" class="option" data-number="25.72" /> UPS Ground </label>
    <br>
    <label><input type="radio" name="print" class="option" data-number="80.90" /> UPS Express </label>
    <br>
    <label><input type="radio" name="print" class="option" data-number="112.93" /> UPS Overnight </label>
    
    <br><br>
    Shipping
    $<span id="ship_total"></span>
    
    <br>
    Final Total
    $<span id="new_total"></span>
    

    的jQuery

    $(document).ready(function() {
          $('label').click(function() {
             var total = 0;
    
              $('.option:checked').each(function() {
                  total += Number($(this).data('number'));   
              });
                  $('#ship_total').text(total);
    
                      //php echos the subtotal
                     var sub_total = 550.25;
    
                     var ship_total = ($("#ship_total").text());
    
                    var final_total = parseFloat(sub_total) + parseFloat(ship_total);
    
            $('#new_total').text(final_total);
        });
    
        });
    

    参见jsfiddle DEMO:http://jsfiddle.net/pEpFA/7/

2 个答案:

答案 0 :(得分:2)

您是否尝试过以下

final_total.toFixed(Number);

答案 1 :(得分:2)

http://jsfiddle.net/pEpFA/9/(更新了所有值)

注意上面小提琴中的那些行:

 total = total.toFixed(2);
 ...
 final_total = final_total.toFixed(2);