Javascript圆十进制数

时间:2016-10-03 11:03:11

标签: javascript

初级程序员在这里。我目前正致力于舍入数字函数

因此,首先,每件商品都会有价格。然后有一个额外的百分比按钮,根据插入的值增加商品价格。

因此,假设项目A的价格为1美元,那么我将百分比值插入25%。它会给我1.33。 如何编写一个将返回1.35而不是1.33的函数?

另一个例子,2.67美元变成2.70美元,12.34美元变成12.35美元

这是我的代码

var price      = parseFloat(items.price); //1
var percentage = parseFloat(vm.data.percentage); //25%
added_price    = parseFloat(price) / (parseFloat(100) - parseFloat(percentage)) * 100; //formula
items.price    = parseFloat(added_price).toFixed(vm.data.decimal); //the result = 1.33
是的,有人能帮帮我吗?谢谢你:))

1 个答案:

答案 0 :(得分:1)

执行此操作的步骤" custom"四舍五入。

  1. 乘以2,以便得到最接近的0.5。
  2. 乘以10,这样你就可以完成它。
  3. Round / Ceil号码。
  4. 将乘法除以20来撤消乘法。
  5. 输出已验证。 :)
  6. 乘以2并将其四舍五入。仅供参考,它是2.65而不是2.70。您需要使用Math.ceil()而不是round

    
    
    var p1 = 2.67;
    var p2 = 12.34;
    
    function round_to_custom(num) {
      num *= 20;
      num = Math.round(num);
      num /= 20;
      return num;
    }
    
    console.log(round_to_custom(p1));
    console.log(round_to_custom(p2));
    
    
    

    使用ceil(从客户那里获得更多$$$):

    
    
    var p1 = 2.67;
    var p2 = 12.34;
    
    function round_to_custom(num) {
      num *= 20;
      num = Math.ceil(num);
      num /= 20;
      return num;
    }
    
    console.log(round_to_custom(p1));
    console.log(round_to_custom(p2));