一 Math.round(),Math.ceil(),Math.floor()的区别

Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数

小数点后第一位<5

正数:Math.round(11.46)=11

负数:Math.round(-11.46)=-11

小数点后第一位>5

正数:Math.round(11.68)=12

负数:Math.round(-11.68)=-12

小数点后第一位=5

正数:Math.round(11.5)=12

负数:Math.round(-11.5)=-11

总结:(小数点后第一位)大于五全部加,等于五正数加,小于五全不加

Math.ceil():根据“ceil”的字面意思“天花板”去理解;

Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12

Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11

总结:只要后边有小数都是向上取整

Math.floor():根据“floor”的字面意思“地板”去理解;

Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11

Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12

总结:只要是有小数,都是向下取证;

二 js保留两位小数总结

1四舍五入型的

var num =2.446242342;

//toFixed(要保留的小数点后边的位数)

num = num.toFixed(2); // 输出结果为 2.45 返回的值是一个字符串类型

2 不四舍五入型的

第一种,先把小数变整数:

Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77

返回的是一个数字类型

第二种,当作字符串,使用正则匹配:

Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/))

// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000

返回的是一个数字类型

注意:如果是负数,请先转换为正数再计算,最后转回负数

三 Js取float型小数点后两位数的方法

1 处理会四舍五入

var num =2.446242342;

num = num.toFixed(2); // 输出结果为 2.45

//toFixed(要保留的小数点后边的位数)

此处的toFixed()函数取到的值是一个string类型,而不是一个number类型;

处理不会四舍五入

1 先把小数变整数

Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77

此处的取到的值是一个number类型;

2当做字符串,使用正则匹配

Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/))

// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000

此处取到的值是一个number类型

注意:如果是负数,请先转为整数再计算,最后在转回负数;

保留两位小数

1功能:将浮点数四舍五入,取小数点后2位

var num =2.446242342;

function toDecimal(x) {

var f = parseFloat(x);

if (isNaN(f)) {

return;

}

f = Math.round(x*100)/100;

return f;

}

toDecimal(num)//调用方法

var nums=toDecimal(num) //调用函数方法后,他不会改变原来那个变量所拥有的值,而是从新

替换成一个新值;

console.log(typeof(nums));

此处获取到的值是一个number类型

2制保留2位小数,如:2,会在2后面补上00.即2.00

//强制保留两位小数

function toDecimal2(x) {

var f = parseFloat(x);

if (isNaN(f)) {

return false;

}

var f = Math.round(x*100)/100;

var s = f.toString();

var rs = s.indexOf('.');

if (rs < 0) {

rs = s.length;

s += '.';

}

while (s.length <= rs + 2) {

s += '0';

}

return s;

}

此处获取到的是一个string类型的值;

3 可选择要保留几位小数的方法

var num=2.446242342;

function fomatFloat(src,pos){ //src是要保留小数的值,pos是要保留几位小数;

return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);

}

var nums=fomatFloat(num,3)

console.log(nums);

console.log(typeof(nums));

此处获取到的是一个number类型的值;

4 精确到n位,不含n位

var num=2.446242342;

var nums=num.toPrecision(3);

console.log(nums);//2.45

console.log(typeof(nums));

此处获取到的是是一个String类型的值

5 只保留整数部分

var num=2.446242342;

var nums=parseInt(num);

console.log(nums);//2

console.log(typeof(nums));//number

6向上取整,有小数就整数部分加1

var num=2.446242342;

var nums=Math.ceil(num);

console.log(nums);//3

console.log(typeof(nums));//number

7四舍五入.

var num=2.446242342;

var nums=Math.round(num);

console.log(nums);//2

console.log(typeof(nums));//number

var num=2.6788667778;

var nums=Math.round(num);

console.log(nums);//3

console.log(typeof(nums));//number

8向下取整

var num=2.6788667778;

var nums=Math.floor(num)

console.log(nums);//2

console.log(typeof(nums));//number

9对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:changeTwoDecimal(3.1)

,将返回3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

var num=2.1;

function changeTwoDecimal_f(x) {

var f_x = parseFloat(x);

if (isNaN(f_x)) {

alert('function:changeTwoDecimal->parameter error');

return false;

}

var f_x = Math.round(x * 100) / 100;

var s_x = f_x.toString();

var pos_decimal = s_x.indexOf('.');

if (pos_decimal < 0) {

pos_decimal = s_x.length;

s_x += '.';

}

while (s_x.length <= pos_decimal + 2) {

s_x += '0';

}

return s_x;

}

var nums=changeTwoDecimal_f(num);

console.log(nums);//2.10

console.log(typeof(nums));//string

功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,

这个函数返回的是字符串的格式用法:

changeTwoDecimal_f(3.1415926)返回3.14

changeTwoDecimal_f(3.1)返回3.10

js string转两位小数_js保留两位小数总结相关推荐

  1. 前端保留两位有效数字_js保留两位小数方法总结

    本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一.我们首先从经典的"四舍五入"算法讲起 1.四舍五入的情 ...

  2. js string转两位小数_js保留两位小数的函数有哪些

    js保留两位小数的函数有:1.[toFixed()]函数:2.[Math.floor()]函数不四舍五入 ,向下取整:3.使用字符串匹配方法:4.四舍五入保留2位小数:5.浮点数保留两位小数. js保 ...

  3. js string转两位小数_js保留两位小数

    以下我们将为大家介绍JavaScript保留两位小数的实现方法: 四舍五入 以下处理结果会四舍五入:var num =2.446242342; num = num.toFixed(2); // 输出结 ...

  4. js截取小数点前的数字_js保留两位小数、字符串截取

    在js中实现对数字保留两位小数.自定义函数: function twoDecimal(number){ if(isNaN(number)){ console.log(number + "不是 ...

  5. jq设置保留两位小数_js保留两位小数方法总结

    本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一.我们首先从经典的"四舍五入"算法讲起 1.四舍五入的情 ...

  6. 【js】小数点后保留两位小数

    小数点后保留两位小数 dicountPrice.toFixed(2)

  7. JS 数字千位分隔符且保留两位小数

    数字千位分隔符且保留两位小数 1.仅需要整数位千位分隔 num.toLocaleString() 2.仅需要保留两位小数 num.toFixed(2) 3.需要千位分隔符且带两位小数 Thousand ...

  8. 用java编写保留两位小数_Java保留两位小数的几种写法总结

    摘要:这篇Java开发技术栏目下的"Java保留两位小数的几种写法总结",介绍的技术点是"Java保留两位小数.保留两位小数.两位小数.Java.小数.总结", ...

  9. sql两数相除保留两位小数_sql 除法运算 保留两位小数

    js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数--js小测:计算比赛得分 一个朋友跟我说要去给某个比赛算分: 规则:去掉最低分最高分求平 ...

最新文章

  1. 训练作用_不同振幅的振动训练对身体的作用
  2. UVA 1524 - Hot or Cold?(数学)
  3. java定义json数组_Java面试题:json该如何定义?json与xml的区别有哪些?
  4. Mysql系列:高可用(HA)-keeplived
  5. 德国人认真起来,自己都怕!
  6. Java通过反射机制修改类中的私有属性的值
  7. 分库分表:TiDB,求别抢饭碗!
  8. (分治)分治法 及 题目
  9. python3连接MSSQL数据库 中文乱码怎么解决?
  10. php中paynotify,PayNotifyValidator.php
  11. 高频电子线路实验箱QY-JXSY25
  12. 用html做龙卷风特效,利用HTML5实现Canvas龙卷风特效
  13. 贪吃蛇html网页小游戏,JavaScript贪吃蛇,网页在线版贪食蛇游戏
  14. 图像拼接stitch
  15. Netcat的使用教程
  16. 非对称加密 公钥解密_了解非对称公钥加密
  17. 手机计算机在线汇率准确吗,汇率计算机(汇率计算器在线计算)
  18. 传智播客成都中心“基础加强班”优惠活动最后一期,立马围观。
  19. python前n项和存为一个数组_python-将数组或DataFrame与其他信息一起保存在文件中...
  20. 神策 2019 数据驱动大会,引领大数据行业“矩•变”升级

热门文章

  1. 给吃货:数据告诉你叫什么名字的餐馆菜更好吃?
  2. 密码学中常用的人物角色名称--Alice, Bob,etc
  3. 【win11】【wsl】使用踩坑记录
  4. 网络爬虫之王者荣耀会
  5. 插入U盘,在电脑上显示两个盘符怎么办?
  6. 从乡村到城市 (转)
  7. 帮我写一篇 元宇宙面馆的 商业推广
  8. JAVAEE 实训日志03_20200711
  9. 开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择
  10. 论文阅读|《北京市公共服务设施可达性及其对住房价格的影响》