JS中移除非数字最多保留一位小数


Posted in Javascript onMay 09, 2018

js中移除非数字最多保留一位小数的实现代码如下所示:

//去除非数字
  var clearNoNum = function (item) {
    if (item!=null && item!=undefined) {
      //先把非数字的都替换掉,除了数字和.
      item = item.replace(/[^\d.]/g, "");
      //必须保证第一个为数字而不是.
      item = item.replace(/^\./g, "");
      //保证只有出现一个.而没有多个.
      item = item.replace(/\.{2,}/g, "");
      //保证.只出现一次,而不能出现两次以上
      item = item.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
      //最多保留小数点后一位
      var arr = item.split(".");
      if (arr.length > 1) item = arr[0] + '.' + (arr[1].length > 1 ? arr[1].substr(0, 1) : arr[1]);
     }
    return item;
  }

补充:

下面看下js处理数字保留2位小数,强制保留2位小数不够补上.00

1、保留两位小数    //功能:将浮点数四舍五入,取小数点后2位

2、//制保留2位小数,如:2,会在2后面补上00.即2.00 

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Test</title> 
<script type="text/javascript" src="js/jq.js"></script> 
</head> 
<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);    
  }  
  document.write("四舍五入 <br/>") 
  document.write("3.14159267保留2位小数:" + toDecimal(3.14159267)+"<br/>");  
  document.write("3.14159267强制保留2位小数:" + toDecimal2(3.14159267)+"<br/>");  
  document.write("3.14159267保留2位小数:" + toDecimal(3.14559267)+"<br/>");  
  document.write("3.14159267强制保留2位小数:" + toDecimal2(3.15159267)+"<br/>");  
  document.write("3.14159267保留2位小数:" + fomatFloat(3.14559267, 2)+"<br/>");  
  document.write("3.14159267保留1位小数:" + fomatFloat(3.15159267, 1)+"<br/>");  
  document.write("五舍六入 <br/>") 
  document.write("1000.003保留2位小数:" + 1000.003.toFixed(2)+"<br/>");  
  document.write("1000.08保留1位小数:" + 1000.08.toFixed(1)+"<br/>");  
  document.write("1000.04保留1位小数:" + 1000.04.toFixed(1)+"<br/>");  
  document.write("1000.05保留1位小数:" + 1000.05.toFixed(1)+"<br/>");  
  document.write("科学计数 <br/>") 
  document.write(3.1415+"科学技术后:"+3.1415.toExponential(2)+"<br/>");  
  document.write(3.1455+"科学技术后:"+3.1455.toExponential(2)+"<br/>");  
  document.write(3.1445+"科学技术后:"+3.1445.toExponential(2)+"<br/>");  
  document.write(3.1465+"科学技术后:"+3.1465.toExponential(2)+"<br/>");  
  document.write(3.1665+"科学技术后:"+3.1665.toExponential(1)+"<br/>");  
  document.write("精确到n位,不含n位 <br/>") 
  document.write("3.1415精确到小数点第2位" + 3.1415.toPrecision(2)+"<br/>");  
  document.write("3.1455精确到小数点第3位" + 3.1465.toPrecision(3)+"<br/>");  
  document.write("3.1445精确到小数点第2位" + 3.1415.toPrecision(2)+"<br/>");  
  document.write("3.1465精确到小数点第2位" + 3.1455.toPrecision(2)+"<br/>");  
  document.write("3.166592679287精确到小数点第5位" + 3.141592679287.toPrecision(5)+"<br/>");  
</script>  
<body> 
<input type="text" id="Score" /> 
</body> 
</html>

总结

以上所述是小编给大家介绍的JS中移除非数字最多保留一位小数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
学习jquery之一
Apr 27 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
Mar 14 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
Sep 17 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
基于Vuex无法观察到值变化的解决方法
Mar 01 Javascript
JS中获取 DOM 元素的绝对位置实例详解
Apr 23 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
Oct 09 Javascript
微信小程序提交form操作示例
Dec 30 Javascript
微信小程序的线程架构【推荐】
May 14 Javascript
Node.js API详解之 vm模块用法实例分析
May 27 Javascript
JS关于刷新页面的相关总结
May 09 #Javascript
Vue引入jquery实现平滑滚动到指定位置
May 09 #jQuery
webstorm中vue语法的支持详解
May 09 #Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 #Javascript
Vue中使用vee-validate表单验证的方法
May 09 #Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 #Javascript
vue实现2048小游戏功能思路详解
May 09 #Javascript
You might like
WordPress网站性能优化指南
2015/11/18 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
JavaScript面向对象编程
2008/03/02 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
围观tangram js库
2010/12/28 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
详解使用vue实现tab 切换操作
2017/07/03 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
Python科学计算之NumPy入门教程
2017/01/15 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
通过Python实现一个简单的html页面
2020/05/16 Python
python程序如何进行保存
2020/07/03 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
香港交友网站:be2香港
2018/07/22 全球购物
工程地质勘察专业大学生求职信
2013/10/13 职场文书
银行存款证明样本
2014/01/17 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
搬迁通知
2015/04/20 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
python文件目录操作之os模块
2021/05/08 Python
Python进度条的使用
2021/05/17 Python