javascript实现保留两位小数的多种方法


Posted in Javascript onDecember 18, 2015

第一种方法:javascript实现保留两位小数一位自动补零代码实例:
第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例:

function returnFloat(value){
 var value=Math.round(parseFloat(value)*100)/100;
 var xsd=value.toString().split(".");
 if(xsd.length==1){
 value=value.toString()+".00";
 return value;
 }
 if(xsd.length>1){
 if(xsd[1].length<2){
 value=value.toString()+"0";
 }
 return value;
 }
}
var num=3.1;
console.log(returnFloat(num));

上面的代码实现了我们的要求,下面介绍一下它的实现过程。
代码注释:
1.function returnFloat(value){},参数是要被转换的数字。
2.var value=Math.round(parseFloat(value)*100)/100,这个应该是函数的核心之处,parseFloat(value)将参数转换为浮点数,因为参数有可能是字符串,乘以100是因为要保留两位小数,先将小数点向右移动两个位数,然后再利用Math.round()方法实行四舍五入计算,最后除以100,这样就实现了保留保留两位小数,并且还具有四舍五入效果,但是这个并不完美,如果参数数字本身的小数位数大于等于2是可以的,如3.1415,但是如3或者3.0这样的还是没有完美的实现,继续看下面。
3.var xsd=value.toString().split("."),使用点"."value分隔成一个数组。
4.if(xsd.length==1){value=value.toString()+".00";return value;},如果数组的长度是1,也就是说不存在小数,那么就会为这个数字添加两个0,例如3会被转换成3.00。
5.

if(xsd.length>1){
 if(xsd[1].length<2){
 value=value.toString()+"0";
 }
 return value;
 }

if(xsd.length>1)用来判断数字的长度是否大于1,也就是数字是否具有小数,如有小数,但是小数的位数小于2,也就是类似3.1这样的,就会在后面加一个0,也就是会转换为3.10。

第二种方法:汇总JS中格式化数据保留两位小数的函数的多种方法

最好方法:

保留两位好像是这样吧   

var a = 9.39393; 
 alert(a.toFixed(2));

说明:

alert(Number.toFixed(9.39393));  
  返回的是9.39  
  但是只有ie5.5以上的版本才支持。

其它方法:

方法一:

function roundFun(numberRound,roundDigit) //四舍五入,保留位数为roundDigit 
 { 
 if (numberRound>=0) 
 { 
 var tempNumber = parseInt((numberRound * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit); 
 return tempNumber; 
 } 
 else 
 { 
 numberRound1=-numberRound 
 var tempNumber = parseInt((numberRound1 * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit); 
 return -tempNumber; 
 } 
  }

方法二:

<script> 
 tmp = "1234567.57232" 
 result = tmp.substr(0,tmp.indexOf(".")+3); 
 alert(result); 
 </script>

第三种方法:javascript保留两位小数代码

<script type="text/javascript"> 
 //保留两位小数 
 //功能:将浮点数四舍五入,取小数点后2位 
 function toDecimal(x) { 
  var f = parseFloat(x); 
  if (isNaN(f)) { 
  return; 
  } 
  f = Math.round(x*100)/100; 
  return f; 
 } 
 
 
 //制保留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; 
 } 
  
 function fomatFloat(src,pos){ 
  return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos); 
 } 
 //四舍五入 
 alert("保留2位小数:" + toDecimal(3.14159267)); 
 alert("强制保留2位小数:" + toDecimal2(3.14159267)); 
 alert("保留2位小数:" + toDecimal(3.14559267)); 
 alert("强制保留2位小数:" + toDecimal2(3.15159267)); 
 alert("保留2位小数:" + fomatFloat(3.14559267, 2)); 
 alert("保留1位小数:" + fomatFloat(3.15159267, 1)); 
  
 //五舍六入 
 alert("保留2位小数:" + 1000.003.toFixed(2)); 
 alert("保留1位小数:" + 1000.08.toFixed(1)); 
 alert("保留1位小数:" + 1000.04.toFixed(1)); 
 alert("保留1位小数:" + 1000.05.toFixed(1)); 
  
 //科学计数 
 alert(3.1415.toExponential(2)); 
 alert(3.1455.toExponential(2)); 
 alert(3.1445.toExponential(2)); 
 alert(3.1465.toExponential(2)); 
 alert(3.1665.toExponential(1)); 
 //精确到n位,不含n位 
 alert("精确到小数点第2位" + 3.1415.toPrecision(2)); 
 alert("精确到小数点第3位" + 3.1465.toPrecision(3)); 
 alert("精确到小数点第2位" + 3.1415.toPrecision(2)); 
 alert("精确到小数点第2位" + 3.1455.toPrecision(2)); 
 alert("精确到小数点第5位" + 3.141592679287.toPrecision(5)); 
 </script>

以上就是javascript实现保留两位小数的多种方法,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JavaScript中实现块作用域的方法
Apr 01 Javascript
用jquery生成二级菜单的实例代码
Jun 24 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
Jun 19 Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 Javascript
学习JavaScript设计模式之状态模式
Jan 08 Javascript
JavaScript基础教程——入门必看篇
May 20 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
详解nuxt sass全局变量(公共scss解决方案)
Jun 27 Javascript
jquery分页优化操作实例分析
Aug 23 jQuery
vue中keep-alive、activated的探讨和使用详解
Jul 26 Javascript
vue 封装面包屑组件教程
Nov 16 Javascript
原生js实现图片轮播特效
Dec 18 #Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 #Javascript
浏览器兼容性问题大汇总
Dec 17 #Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
Dec 17 #Javascript
js调出上下文菜单的实例
Dec 17 #Javascript
快速掌握WordPress中加载JavaScript脚本的方法
Dec 17 #Javascript
JSONObject使用方法详解
Dec 17 #Javascript
You might like
SONY SRF-40W电路分析
2021/03/02 无线电
php str_replace的替换漏洞
2008/03/15 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
Python中的列表生成式与生成器学习教程
2016/03/13 Python
python主线程捕获子线程的方法
2018/06/17 Python
详解python中的装饰器
2018/07/10 Python
基于python的Paxos算法实现
2019/07/03 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
如何完美的建立一个python项目
2020/10/09 Python
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
物业招聘计划书
2014/01/10 职场文书
电子工程求职信
2014/07/17 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
民事调解书范文
2015/05/20 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL