JS 将数值取整为10的倍数_莺呼_前端开发者

问题描述:

问题描述:问题描述:

将数值处理为 10 的倍数,并支持向上或者向下取整

将数值处理为 10 的倍数,并支持向上或者向下取整

如将 2345 可以处理为 2300 | 2400 | 3000 | 2000

如将 2345 可以处理为 2300 | 2400 | 3000 | 2000

 

 

解决方案:

解决方案:解决方案:

/**
 * 将数字取整为10的倍数
 * @param {Number} num 需要取整的值
 * @param {Boolean} ceil 是否向上取整
 * @param {Number} prec 需要用0占位的数量
 */
const formatInt = (num, prec = 2, ceil = true) => {
  const len = String(num).length;
  if (len <= prec) { return num }; 

  const mult = Math.pow(10, prec);
  return ceil ? 
    Math.ceil(num / mult) * mult : 
    Math.floor(num / mult) * mult;
} 

// formatInt(2345, 2, true)  -> 2400
// formatInt(2345, 2. false) -> 2300
// formatInt(2345, 3, true)  -> 3000
// formatInt(2345, 3, false) -> 2000
/**
 * 将数字取整为10的倍数
 * @param {Number} num 需要取整的值
 * @param {Boolean} ceil 是否向上取整
 * @param {Number} prec 需要用0占位的数量
 */
const formatInt = (num, prec = 2, ceil = true) => {
  const len = String(num).length;
  if (len <= prec) { return num }; 

  const mult = Math.pow(10, prec);
  return ceil ? 
    Math.ceil(num / mult) * mult : 
    Math.floor(num / mult) * mult;
} 

// formatInt(2345, 2, true)  -> 2400
// formatInt(2345, 2. false) -> 2300
// formatInt(2345, 3, true)  -> 3000
// formatInt(2345, 3, false) -> 2000

/**
* 将数字取整为10的倍数
* @param {Number} num 需要取整的值
* @param {Boolean} ceil 是否向上取整
* @param {Number} prec 需要用0占位的数量
*/
const formatInt
= (num, prec = 2, ceil = true) => {
const len
= String(num).length;
if (len <= prec) { return num };

const mult = Math.pow(10, prec);
return ceil ?
Math.ceil(num
/ mult) * mult :
Math.floor(num
/ mult) * mult;
}

// formatInt(2345, 2, true) -> 2400
//
formatInt(2345, 2. false) -> 2300
//
formatInt(2345, 3, true) -> 3000
//
formatInt(2345, 3, false) -> 2000/**
* 将数字取整为10的倍数
* @param {Number} num 需要取整的值
* @param {Boolean} ceil 是否向上取整
* @param {Number} prec 需要用0占位的数量
*/
const formatInt
true {
const len
String(num).length;
ifreturn numnum };

const mult prec);
return
Math.ceil(num
mult :
Math.floor(num
mult;
}

// formatInt(2345, 2, true) -> 2400
//
formatInt(2345, 2. false) -> 2300
//
formatInt(2345, 3, true) -> 3000
//
formatInt(2345, 3, false) -> 2000

 

» 本文来自:前端开发者 » 《JS 将数值取整为10的倍数_莺呼_前端开发者》
» 本文链接地址:https://www.rokub.com/73716.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!