初级程序员在这里。我目前正在处理四舍五入数字功能

因此,起初,每个项目都会有一个价格。然后还有一个额外的百分比按钮,用于根据插入的值来提高商品价格。

假设商品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


有人可以帮我吗?谢谢 :)

最佳答案

完成此“自定义”步骤的步骤。


乘以2,以得到最接近的0.5。
乘以10,这样就可以四舍五入。
四舍五入/关闭数字。
用20除以撤消乘法。
输出已验证。 :)


乘以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));

10-05 20:37
查看更多