Javascript总是四舍五入到小数点后X位

Javascript总是四舍五入到小数点后X位,javascript,Javascript,我需要编写一个总是向上取整的函数,但会向上取整到0、1或2位小数,这取决于函数是否传递了0、1或2 例子 四舍五入至小数点后0位: 13.4178=14 四舍五入至小数点后1位: 13.4178=13.5 四舍五入至小数点后2位: 13.4178=13.42 我已经找到了Math.ceil,但它只会向上取整,而to fixed()会向上或向下取整,而不仅仅是向上取整。有没有一种方法可以像我上面描述的那样进行四舍五入呢?你可以用一个因子乘以十和所需十进制数的幂,然后四舍五入并调整点 功能启动(v

我需要编写一个总是向上取整的函数,但会向上取整到0、1或2位小数,这取决于函数是否传递了0、1或2

例子

四舍五入至小数点后0位: 13.4178=14

四舍五入至小数点后1位: 13.4178=13.5

四舍五入至小数点后2位: 13.4178=13.42


我已经找到了
Math.ceil
,但它只会向上取整,而
to fixed()
会向上或向下取整,而不仅仅是向上取整。有没有一种方法可以像我上面描述的那样进行四舍五入呢?

你可以用一个因子乘以十和所需十进制数的幂,然后四舍五入并调整点

功能启动(v,n){
返回Math.ceil(v*Math.pow(10,n))/Math.pow(10,n);
}
控制台日志(上升(13.4178,0));
控制台日志(up(13.4178,1));

控制台日志(上升(13.4178,2))您可以使用一个因子乘以10和所需十进制计数的幂,然后将其四舍五入并调整点

功能启动(v,n){
返回Math.ceil(v*Math.pow(10,n))/Math.pow(10,n);
}
控制台日志(上升(13.4178,0));
控制台日志(up(13.4178,1));

控制台日志(上升(13.4178,2))只需乘以、取整并除以10^dec的因子即可

函数汇总(num,dec){
//在12月前提高,在和处默认为0小数。
常数d=数学功率(10,(12月0日));
//乘法、四舍五入和除法,使小数保持不变
返回Math.ceil(num*d)/d;
}
控制台日志(综述(1.2345));
控制台日志(综述(1.2345,1));
日志(综述(1.2345,2));

控制台日志(综述(1.2345,3))只需乘以、取整并除以10^dec的因子即可

函数汇总(num,dec){
//在12月前提高,在和处默认为0小数。
常数d=数学功率(10,(12月0日));
//乘法、四舍五入和除法,使小数保持不变
返回Math.ceil(num*d)/d;
}
控制台日志(综述(1.2345));
控制台日志(综述(1.2345,1));
日志(综述(1.2345,2));

控制台日志(综述(1.2345,3))使用辅助乘法和除法:

function MyCeil(number, digits) {
  var factor = Math.pow(10, digits);
  return Math.ceil(number*factor) / factor;
}

使用辅助乘法和除法:

function MyCeil(number, digits) {
  var factor = Math.pow(10, digits);
  return Math.ceil(number*factor) / factor;
}

您还可以进一步查看MDN上的
Math.ceil
文档…
(num,signs)=>Math.ceil(num*10**signs)/10**signs编写一些结合了
Math.ceil()
toFixed()
的代码,如果这不符合您的预期,请将代码放入您的问题中。然后其他人可以帮助你,而不仅仅是为你编写代码。如果你尝试阅读文档,你可能会遇到MDN文档,这可能有一两个功能可以帮助你完成任务-我不认为这是家庭作业。只需浏览该用户的其他贡献,您还可以进一步查看MDN上的
Math.ceil
文档…
(num,signs)=>Math.ceil(num*10**signs)/10**signs编写一些结合了
Math.ceil()
toFixed()
的代码,如果这不符合您的预期,请将代码放入您的问题中。然后其他人可以帮助你,而不仅仅是为你编写代码。如果你尝试阅读文档,你可能会遇到MDN文档,这可能有一两个功能可以帮助你完成任务-我不认为这是家庭作业。只需浏览该用户的其他贡献