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 相关文章推荐
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
Jan 07 Javascript
javascript 全等号运算符使用说明
May 31 Javascript
判定是否原生方法的JS代码
Nov 12 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
Express的路由详解
Dec 10 Javascript
详谈JavaScript的闭包及应用
Jan 17 Javascript
VUE实现表单元素双向绑定(总结)
Aug 08 Javascript
Vue之Mixins(混入)的使用方法
Sep 24 Javascript
关于layui时间回显问题的解决方法
Sep 24 Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
php的计数器程序
2006/10/09 PHP
php中filter_input函数用法分析
2014/11/15 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
PHP 实现链式操作
2021/03/09 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
javascript学习之json入门
2016/12/22 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
node实现简单的反向代理服务器
2017/07/26 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
使用Python实现批量ping操作方法
2020/05/06 Python
python如何查看安装了的模块
2020/06/23 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
Python中生成ndarray实例讲解
2021/02/22 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
学校岗位设置方案
2014/01/16 职场文书
我的中国梦主题班会
2015/08/14 职场文书
入团申请书格式
2019/06/20 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
python缺失值填充方法示例代码
2022/12/24 Python