JS实现四舍五入

题目描述:
给定任意的小数,四舍五入保留三位小数

const dis = 30.999999; //任意小数
const arr = (dis+"").split(".");
let res = 0;
if(arr[1].length > 3) { //判断小数位数
    if(arr[1].charAt(3)<5){ //不用进位
        res = arr[0]+"." + arr[1].substr(0,3);
    }
    else { //进位
      let k=3;
      let xiaoshu = arr[1].split(""); //小数部分化成数组
      let jinwei = false; //标记9+1=10的情况
      while(xiaoshu[k]>5 || jinwei==true){
        if(k==0){
          arr[0]++; //第一位小数大于5
        }
        if((Number(xiaoshu[k-1])+1) > 9) {
          jinwei=true;
        }
        else {
          jinwei=false;
        }
        xiaoshu[k-1]= (Number(xiaoshu[k-1])+1)%10;
        k--;
      }
      res = arr[0]+"." +xiaoshu[0]+xiaoshu[1]+xiaoshu[2]; //拼装结果
    }
}
else {
    res = dis;
}

console.log(res);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 2,678评论 0 5
  • 学习临圣教序一些个人体会: 1、首先,临帖时写的字就最好是原大的,就是写的字最好与字帖上的字同等大小,因为字的大小...
    仰为宙阅读 1,812评论 2 3
  • 文/唐僧先生 小时候,房屋多是矮房,像极了贫苦人民的卑微。 但孩子们是不懂这些的,他们只知道在课间折起的纸飞机如果...
    乔诗伟阅读 6,400评论 83 123
  • 小朋友第一次写作业拖拉到现在!看了看表,时间已指向夜半十一点零三分,他刚刚躺下睡,宣布写完作业的时间是十点四十三分...
    爱跑步的煎鱼片阅读 77评论 0 0
  • 1. 我一直以来搜很多资料攻略总是能在简书上找到一些,但是现在觉得这网站(APP)也太乱了吧,手机网页版疯狂想打开...
    林映澈阅读 115评论 0 0