例如:如果值为6,则返回10,如果值为16,则返回20,如果值为66,则返回70,如果值为166,则返回200,如果值为666,则返回700,如果值为1666,则返回2000。以此类推,数据不限制大小

回答

function ceilNumber(number){

var bite = 0;

if(number < 10){

return 10;

}

while( number >= 10 ){

number /= 10;

bite += 1;

}

return Math.ceil(number) * Math.pow(10,bite);

}

function setCeil(value){

if (value < 10) {

return 10

} else {

let num = Number(value.toString().substring(0,1));

return (num + 1) * Math.pow(10,(value.toString().length - 1));

}

}

那你这个步进只能按指定值来步进了,把那边的回答稍稍改一下就好

function upTo(v, steps) {

const step = steps.find(step => step > v);

const mod = v % step;

return mod ? v - mod + step : v;

}

const steps = [10, 20, 50, 100, 200, 500, 1000];

const nums = [6, 16, 66, 166, 666];

nums.forEach(n => console.log(upTo(n, steps)));

// 输出

// 10 20 100 200 1000

function dada(value) {

const array = Array.from(`${ value }`);

const [_, ...behinds] = array;

if(array.length < 2) {

return 10;

}

else if(behinds.every(i => i === '0')) {

return value;

}

else {

return Number.parseInt(array.map((char, index) => index === 0 ? Number.parseInt(char) + 1 : 0).join(''));

}

}

[1, 11, 10, 20, 21, 211, 166, 311].forEach(value => {

console.log(`${ value }: ${ dada(value) }`);

});

function ceilNum(num){

const bite = Math.pow(10,String(num).length-1||1)

return Math.ceil(num/bite)*bite

}

function test(){

const nums = [6, 16, 66, 166, 666];

nums.forEach(n => console.log(ceilNum(n)));

}

test()

js怎么向上取整,js 如何向上取整得到距离最近的整十,整百,整千,整万的值?...相关推荐

  1. .NET c#取一个数的个位十位百位千位万位

    要求输入的数不多于五位 窗口: 代码: using System; using System.Collections.Generic; using System.ComponentModel; usi ...

  2. js对金额数据添加最大金额单位【千、万、十万...】

    常见的问题 对金额数据,后台数据返回的一般是直接的数字金额,比如说:20343.32,,62383223.33,561425之类的,这些数据直接放到前端,给用户直接看的话,很不好读,不友好,常见的方法 ...

  3. JS向上取整、向下取整、四舍五入、取绝对值、几次幂等方法

    今天一直在做房源金额计算,退款和收款.一会让向下取整,一会让向上取整.复习一下js方法 Math数学方法 1.向上取整.正数:有小数,舍弃小数,整数就加1.负数:就舍弃小数部分,取整数部分Math.c ...

  4. JS 中的Math方法向上取整、向下取整、保留整数、绝对值、取最大值、最小值等

    JS 中的Math方法向上取整.向下取整.保留整数.绝对值.取最大值.最小值等 1.只保留整数部分(丢弃小数部分) parseInt(5.1234);// 5 2.向下取整(<= 该数值的最大整 ...

  5. js实现数字以5为单位向上取整/js时间以10分钟向上取整

    //js实现数字以5为单位向上取整 parseInt((x / 5) + 1) * 5;//实例 parseInt((11 / 5) + 1) * 5; //15 parseInt((15 / 5) ...

  6. [乐意黎原创]向上取整⌈⌉和向下取整⌊⌋符号含义及应用

    向上取整, 运算称为 Ceiling,用数学符号 ⌈⌉  (上有起止,开口向下)表示,. 向下取整, 运算称为 Floor,用数学符号 ⌊⌋ (下有起止,开口向上)表示. 注意,向上取整和向下取整是针 ...

  7. 下取整函数的含义_向上取整⌈⌉和向下取整⌊⌋符号含义及应用

    向上取整, 运算称为 Ceiling,用数学符号 ⌈⌉  (上有起止,开口向下)表示,. 向下取整,运算称为 Floor,用数学符号⌊⌋(下有起止,开口向上)表示. 注意,向上取整和向下取整是针对有浮 ...

  8. math的向上取整_vue关于数字的处理(四舍五入,向上取整,向下取整。。)

    关于数字的处理(四舍五入,向上取整,向下取整..) 在vue项目中可以新建一个filter.js的文件 在文件中将这些过滤全部写进去,再在页面进行引用 1.时分秒的显示 格式 00:00:00 exp ...

  9. js两个数相除的结果四舍五入取整

    给两个数5.3,下面来对这两个数相除进行取余数.取整数.以及保留两位小数等操作. console.log("整数")console.log(parseInt(5/3))consol ...

  10. sql中向下取整怎么取_Sql 获取向上取整、向下取整、四舍五入取整的实例

    [四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT FLOOR(54.56) [向上取整截取] SELECT   CEILING(13.15) --MSS ...

最新文章

  1. 二、用FTP同步服务器
  2. c语言代码大全500行,C语言职工档案管理系统 500多行代码1
  3. 【Qt】Qt登录对话框(设计器实现)
  4. 09.span query 查询
  5. 前端学习(1066):ES6里面的三个注意点1
  6. 将Linux下编译的warning警告信息输出到文件中
  7. 笨方法“学习python笔记之转义序列
  8. bzoj4513 [Sdoi2016]储能表 dp
  9. springMVC接收数据和响应返回
  10. 32位系统是指地址_不起眼却很重要丨32位操作系统与64位操作系统详解(含查询教程)...
  11. svn更新项目时遇到被锁住的问题
  12. python元组排序_python元组怎么排序
  13. 基于can总线的A2L文件解析(2)
  14. Vs2015智能提示英文的处理方案。
  15. 透过同程艺龙财报看OTA的2021:复苏潮下行业或迎新一轮角逐赛
  16. SRAM、PSRAM、SPI FLASH杂记【转】
  17. 非框架窗口键盘加速键的使用
  18. 郑码输入法 编码规则 取码方式
  19. Python写的实时地球图片下载工具
  20. Java 开发中 一篇文章讲清楚VO,BO,PO,DO,DTO的区别

热门文章

  1. 马云对创业者精彩的一段话(MV):创业者多去看别人失败的经历成功的原因千千万万失望的原因就是那么几个!
  2. 集成Elastic Search实现文档的全文搜索功能实战
  3. 2008中国手机客户端软件Top50评选结果
  4. Linux服务器中木马(肉鸡)手工清除方法(转)
  5. QQ功能测试(个人信息)
  6. 面试必备,TCP协议经典十五连问
  7. 《在小吃店遇见凯恩斯》读书心得小记 - Part 2
  8. 使用OLE对象访问Oracle数据库
  9. 推荐一部很好的电影《本杰明.巴顿的奇事》
  10. 新版小猪盖房子的故事-记不得从哪里看来的了