js string转两位小数_js保留两位小数总结
一 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保留两位小数总结相关推荐
- 前端保留两位有效数字_js保留两位小数方法总结
本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一.我们首先从经典的"四舍五入"算法讲起 1.四舍五入的情 ...
- js string转两位小数_js保留两位小数的函数有哪些
js保留两位小数的函数有:1.[toFixed()]函数:2.[Math.floor()]函数不四舍五入 ,向下取整:3.使用字符串匹配方法:4.四舍五入保留2位小数:5.浮点数保留两位小数. js保 ...
- js string转两位小数_js保留两位小数
以下我们将为大家介绍JavaScript保留两位小数的实现方法: 四舍五入 以下处理结果会四舍五入:var num =2.446242342; num = num.toFixed(2); // 输出结 ...
- js截取小数点前的数字_js保留两位小数、字符串截取
在js中实现对数字保留两位小数.自定义函数: function twoDecimal(number){ if(isNaN(number)){ console.log(number + "不是 ...
- jq设置保留两位小数_js保留两位小数方法总结
本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一.我们首先从经典的"四舍五入"算法讲起 1.四舍五入的情 ...
- 【js】小数点后保留两位小数
小数点后保留两位小数 dicountPrice.toFixed(2)
- JS 数字千位分隔符且保留两位小数
数字千位分隔符且保留两位小数 1.仅需要整数位千位分隔 num.toLocaleString() 2.仅需要保留两位小数 num.toFixed(2) 3.需要千位分隔符且带两位小数 Thousand ...
- 用java编写保留两位小数_Java保留两位小数的几种写法总结
摘要:这篇Java开发技术栏目下的"Java保留两位小数的几种写法总结",介绍的技术点是"Java保留两位小数.保留两位小数.两位小数.Java.小数.总结", ...
- sql两数相除保留两位小数_sql 除法运算 保留两位小数
js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数--js小测:计算比赛得分 一个朋友跟我说要去给某个比赛算分: 规则:去掉最低分最高分求平 ...
最新文章
- 训练作用_不同振幅的振动训练对身体的作用
- UVA 1524 - Hot or Cold?(数学)
- java定义json数组_Java面试题:json该如何定义?json与xml的区别有哪些?
- Mysql系列:高可用(HA)-keeplived
- 德国人认真起来,自己都怕!
- Java通过反射机制修改类中的私有属性的值
- 分库分表:TiDB,求别抢饭碗!
- (分治)分治法 及 题目
- python3连接MSSQL数据库 中文乱码怎么解决?
- php中paynotify,PayNotifyValidator.php
- 高频电子线路实验箱QY-JXSY25
- 用html做龙卷风特效,利用HTML5实现Canvas龙卷风特效
- 贪吃蛇html网页小游戏,JavaScript贪吃蛇,网页在线版贪食蛇游戏
- 图像拼接stitch
- Netcat的使用教程
- 非对称加密 公钥解密_了解非对称公钥加密
- 手机计算机在线汇率准确吗,汇率计算机(汇率计算器在线计算)
- 传智播客成都中心“基础加强班”优惠活动最后一期,立马围观。
- python前n项和存为一个数组_python-将数组或DataFrame与其他信息一起保存在文件中...
- 神策 2019 数据驱动大会,引领大数据行业“矩•变”升级