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 相关文章推荐
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
js直接编辑当前cookie的脚本
Sep 14 Javascript
jquery.messager.js插件导致页面抖动的解决方法
Jul 14 Javascript
火狐下table中创建form导致两个table之间出现空白
Sep 02 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
JavaScript动态添加css样式和script标签
Jul 19 Javascript
省市二级联动小案例讲解
Jul 24 Javascript
vue.js 2.0实现简单分页效果
Jul 29 Javascript
用JS实现一个简单的打砖块游戏
Dec 11 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
OpenLayers实现图层切换控件
Sep 25 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
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php分页代码学习示例分享
2014/02/20 PHP
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP chr()函数讲解
2019/02/11 PHP
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
python的类方法和静态方法
2014/12/13 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
python调用webservice接口的实现
2019/07/12 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
Pytorch之保存读取模型实例
2019/12/30 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
某公司面试题
2012/03/05 面试题
学生学习总结的自我评价
2013/10/22 职场文书
奠基仪式策划方案
2014/05/15 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
各国货币符号大全
2022/02/17 杂记
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库