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 相关文章推荐
捕获关闭窗口的脚本
Jan 10 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
Aug 01 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
Nov 14 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
Easyui form combobox省市区三级联动
Jan 13 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 Javascript
Bootstrap前端开发案例一
Jun 17 Javascript
javascript数组遍历的方法实例分析
Sep 13 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
用node开发并发布一个cli工具的方法步骤
Jan 03 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
Sep 24 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
使PHP自定义函数返回多个值
2006/11/26 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
python 错误处理 assert详解
2020/04/20 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
玩手机检讨书1000字
2014/10/20 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书