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 相关文章推荐
统一接口:为FireFox添加IE的方法和属性的js代码
Mar 25 Javascript
Javascript判断对象是否相等实现代码
Mar 18 Javascript
js charAt的使用示例
Feb 18 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
Oct 10 Javascript
JavaScript动态加载样式表的方法
Mar 21 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
Nov 02 Javascript
JS简单循环遍历json数组的方法
Apr 22 Javascript
javascript数组遍历的方法实例分析
Sep 13 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
Apr 20 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
微信小程序 this.triggerEvent()的具体使用
Dec 10 Javascript
vue的项目如何打包上线
Apr 13 Vue.js
原生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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
javaScript对象和属性的创建方法
2007/01/15 Javascript
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
Ajax异步文件上传与NodeJS express服务端处理
2017/04/01 NodeJs
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
比驿:全球酒店比价网
2018/06/20 全球购物
党员个人思想汇报
2013/12/28 职场文书
小学六年级学生评语
2014/04/22 职场文书
应聘英语教师求职信
2014/04/24 职场文书
分公司任命书
2014/06/06 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS