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 相关文章推荐
一个简单的javascript类定义例子
Sep 12 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
Dec 18 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 Javascript
浅谈Webpack自动化构建实践指南
Dec 18 Javascript
JavaScript判断变量名是否存在数组中的实例
Dec 28 Javascript
关闭Vue计算属性自带的缓存功能方法
Mar 02 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
vue自定义指令directive的使用方法
Apr 07 Javascript
vue中使用GraphQL的实例代码
Nov 04 Javascript
Vue关于组件化开发知识点详解
May 13 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
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
javascript 限制输入脚本大全
2009/11/03 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
vue组件实例解析
2017/01/10 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
店长岗位职责
2013/11/21 职场文书
高级编程求职信模板
2014/02/16 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
弄虚作假心得体会
2014/09/10 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP