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 05 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
js中AppendChild与insertBefore的用法详细解析
Dec 16 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
Apr 10 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
Feb 17 Javascript
AngularJS基础 ng-open 指令简单实例
Aug 02 Javascript
深入理解jquery中extend的实现
Dec 22 Javascript
详解在express站点中使用ejs模板引擎
Sep 21 Javascript
JS多个异步请求 按顺序执行next实现解析
Sep 16 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
Sep 17 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初学者的8点有效建议
2010/11/20 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
php自定义hash函数实例
2015/05/05 PHP
php实现word转html的方法
2016/01/22 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
学习ExtJS form布局
2009/10/08 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
python的几种开发工具介绍
2007/03/07 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
python实现简单猜单词游戏
2020/12/24 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
医学生临床实习自我评价
2014/03/07 职场文书
出国留学经济担保书
2014/04/01 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android