正负小数点后两位浮点数实现原理及代码
背景:项目中需要做个对两位小数点的正负浮点数的处理,
要求:非数字或者.字符自动清除,并对.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位的简单方法全部内容了,希望大家多多支持我们~
随机推荐
- python编程之requests在网络请求中添加cookies参数方法详解
- Delphi实现截屏存盘的方法
- sqlsever为标识列指定显式值
- 基于React.js实现原生js拖拽效果引发的思考
- C#监控文件夹变化的方法
- PHP面向对象之后期静态绑定功能介绍
- Ajax同步和异步问题浅析及解决方法
- 用DOS杀毒的一个不错的应用
- bootstrap组件之导航组件使用方法
- java利用反射实现动态代理示例
- 关于COOKIE个数与大小的问题
- 微信小程序 ES6Promise.all批量上传文件实现代码
- C#(WinForm) ComboBox和ListBox添加项及设置默认选择项
- Android实现带动画效果的可点击展开TextView
- Apache增加最大连接数的方法
- 使用java实现telnet-client工具分享
- C#中Winfrom默认输入法的设置方法
- div+css布局必了解的列表元素ul ol li dl dt dd详解
- 无线局域网
- Linux/ubuntu 下安装pyspider的过程