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 相关文章推荐
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
Feb 18 Javascript
JQuery 学习笔记 element属性控制
Jul 23 Javascript
小议javascript 设计模式 推荐
Oct 28 Javascript
12种不宜使用的Javascript语法整理
Nov 04 Javascript
javaScript如何生成xmlhttp
Dec 16 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
Jun 30 Javascript
jQuery中val()方法用法实例
Dec 25 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
功能强大的jquery.validate表单验证插件
Nov 07 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
iview的table组件自带的过滤器实现
Jul 12 Javascript
JS绘图Flot如何实现可选显示曲线图功能
Oct 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
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
php压缩文件夹最新版
2018/07/18 PHP
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
如何运行带参数的python脚本
2019/11/15 Python
解决python replace函数替换无效问题
2020/01/18 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
python如何提升爬虫效率
2020/09/27 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
单位人事专员介绍信
2014/01/11 职场文书
《阳光》教学反思
2014/02/23 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
创先争优一句话承诺
2014/05/29 职场文书
毕业横幅标语
2014/10/08 职场文书
2015年超市工作总结
2015/04/09 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
React中的Context应用场景分析
2021/06/11 Javascript