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 相关文章推荐
很可爱的输入框
Aug 03 Javascript
JavaScript 开发规范要求(图文并茂)
Jun 11 Javascript
JavaScript语言核心数据类型和变量使用介绍
Aug 23 Javascript
jQuery on方法传递参数示例
Dec 09 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
js+canvas实现动态吃豆人效果
Mar 22 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
js指定日期增加指定月份的实现方法
Dec 19 Javascript
JavaScript设计模式之观察者模式实例详解
Jan 16 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
通过JavaScript下载文件到本地的方法(单文件)
Mar 17 Javascript
解决layui轮播图有数据不显示的情况
Sep 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
用libtemplate实现静态网页生成
2006/10/09 PHP
基于mysql的论坛(2)
2006/10/09 PHP
PHP一些有意思的小区别
2006/12/06 PHP
zend framework多模块多布局配置
2011/02/26 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
jquery中实现标签切换效果的代码
2011/03/01 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
javascript类型转换示例
2014/04/29 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
Angular8基础应用之表单及其验证
2019/08/11 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python中join和split用法实例
2015/04/14 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
毕业生精彩的自我评价分享
2013/10/06 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
goland 清除所有的默认设置操作
2021/04/28 Golang
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL