正负小数点后两位浮点数实现原理及代码
背景:项目中需要做个对两位小数点的正负浮点数的处理,
要求:非数字或者.字符自动清除,并对.12自动修补.前的0
原理:在输入框中加入两个事件,keyup与blur,keyup处理字符串中非要求的字符,blur中对最终字符串处理成理想的格式111.11
实现:通过七个正则处理掉主功能 val代表输入的字符串
/^\d*\.?\d{0,2}$/ 验证val是否是ddd.dd的格式,是则不处理,否才处理
/[^.0-9]+/ 处理掉val中所有的非数字与.的字符
/(?:\d*\.\d{0,2}|\d+)/ 将val处理成正确的格式。
/^\d+$/ 当是整数时的处理
/^\.\d{0,2}$/ 小数点前没有数字时处理
/^\d+\.\d{0,2}$/ 小数点后数字位数在0-2之间时的处理
/^0+[1-9]\d*\.?\d{0,2}$/ val前面有0时的处理
测试数据:
fdfd100.12 122.121 12t12.57 12546 1245. 125.4 154.45.456 .126 005245.121 dfdffd等等
Demo下载
相关推荐
-
正负小数点后两位浮点数实现原理及代码
背景:项目中需要做个对两位小数点的正负浮点数的处理, 要求:非数字或者.字符自动清除,并对.12自动修补.前的0 原理:在输入框中加入两个事件,keyup与blur,keyup处理字符串中非要求的字符,blur中对最终字符串处理成理想的格式111.11 实现:通过七个正则处理掉主功能 val代表输入的字符串 /^\d*\.?\d{0,2}$/ 验证val是否是ddd.dd的格式,是则不处理,否才处理 /[^.0-9]+/ 处理掉val中所有的非数字与.的字符 /(?:\d*\.\d{0,2}|\
-
c++只保留float型的小数点后两位问题
目录 c++ 只保留float型的小数点后两位 C++ cout输出小数点后指定位数 参考代码 c++ 只保留float型的小数点后两位 float spd = 22.518744; char buf[10]; sprintf(buf, "%.2f", spd); sscanf(buf, "%f", &spd); 记录一下,有时候我们需要float类型只保留两个有效小数,但是在实际应用中会发现一些现象 如:1.5 在实际中为1.49999998 等等 还有一
-
JavaScript 获取任一float型小数点后两位的小数
用Javascript取float型小数点后两位,例22.127456取成22.13,如何做? 1.这种方法最不推荐: function get(){ var s = 22.127456 + ""; var str = s.substring(0,s.indexOf(".") + 3); alert(str); } 2. 使用正则表达式获取: function get(){ var a = "23.456322"; var aNew; var r
-
Android金额输入框只允许输入小数点后两位效果
一:要实现这个效果也不是很复杂,只需要设置输入框输入的字符类型.设置InputFilter.设置输入变化监听即可.下面直接来看代码吧-. 二:new 一个class extends AppCompatEditText并写上一个初始化函数 private void init() { //设置输入框允许输入的类型(正则) //对应的布局属性是--->android:digits="0123456789." setKeyListener(DigitsKeyListener.getIns
-
调整小数的格式保留小数点后两位
在开发过程中经常遇到要调整小数的格式,如保留小数点后两位等等.方法也颇为常见,备忘如下. 第一种,利用math.round var original=28.453 1) //round "original" to two decimals var result=Math.round(original*100)/100; //returns 28.45 2) // round "original" to 1 decimal var result=Math.round(
-
Android 限制显示小数点后两位的实现方法
限制Android显示小数点后两位小数格式可以使用两种方法(个人在项目中使用的,并不代表就这两种,还有很多),好了废话不多说,上内容. 1.第一张方法:使用DecimalFormat API DecimalFormat format = new DecimalFormat("#.##"); String numberStr = format.format(numberDecimal); Log.e("TAG","numberStr => "
-
js取小数点后两位四种方法
Javascript取float型小数点后两位,例22.123456取成22.12,如何做? 1.通过substring截取. function getnum() { var num = 22.123456; var result = num.substring(0,s.indexOf(".")+3); alert(result); } 2. 正则表达式. function getnum() { var num = 22.123456; var aNew; var re = /([0-
-
C++详解使用floor&ceil&round实现保留小数点后两位
目录 C++四舍五入保留小数点后两位 1.floor函数 2.ceil函数 3.round函数 C++四舍五入保留小数点后两位 示例 #include <iostream> using namespace std; int main() { double i = 2.235687; double j = round(i * 100) / 100; cout << "The original number is " << i << endl
-
mysql格式化小数保留小数点后两位(小数点格式化)
复制代码 代码如下: SELECT FORMAT(12562.6655,2); 结果:12,562.67 查看文档:Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal point or fractional part.整数部分超过三位的时候
-
JS取数字小数点后两位或n位的简单方法
在js中有时要用到取float数字的小数点后两位的情况. var num=10/3; function f(num,n){ return parseInt(num*Math.pow(10,n)+0.5,10)/Math.pow(10,n); } alert(f(num,2)); 以上就是小编为大家带来的JS取数字小数点后两位或n位的简单方法全部内容了,希望大家多多支持我们~
随机推荐
- Java自动解压文件实例代码
- go语言简单网络程序实例分析
- centos 搭建ftp服务器详解及简单介绍
- Java实现等待所有子线程结束后再执行一段代码的方法
- 解决Oracle删除重复数据只留一条的方法详解
- 复制粘贴功能的Python程序
- 浅谈JS 数字和字符串之间相互转化的纠纷
- 第十三节--对象串行化
- ASP中经常使用的SQL语句与教程说明
- 教您修复mysql数据库的方法
- php使用gzip压缩传输js和css文件的方法
- 基于JavaScript实现一定时间后去执行一个函数
- 基于jQuery实现图片的前进与后退功能
- js原生态函数中使用jQuery中的 $(this)无效的解决方法
- asp.net网站实现接入QQ登录示例代码
- Bootstrap源码解读导航条(7)
- PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
- java从输入流中获取数据并返回字节数组示例
- Web安全测试之XSS实例讲解
- iReport生成pdf打印的实例代码