javascript判断输入小数点后是不是为两位的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript判断输入小数点后是不是为两位的问题相关的知识,希望对你有一定的参考价值。

//判断限额只有小数点后两位by ben
function isTwoBitDecimal(d)

return (Math.round(d*100) == d*100);


这个函数输入
123.456
0.00001
1.001
都是成功的

但是输入
0.100
0.0100
等就判断失败了,为什么?应该怎么改进?
请问,小数点后不超过三位的的正则表达式怎么写?

参考技术A 用正则不是很简单吗?

var rex=/\d+[.]\d2/g

var s=输入的数字;

if(s.test(rex)) return ture;
else return false;本回答被提问者采纳
参考技术B Math.round()之后会求近似值。所以两个不相等
这个很简单吧?
function isTwoBitDecimal(d)

var temp = d+''; //int 转string
var stemp = temp.split('.');
if(stemp.length ==2 && stemp[1]==2)
return true;
else
return false;

求一个正则表达式只能输入数字小数点后两位和

求一个正则表达式,输入框内只能输入正数,包含整数和浮点数, 小数点后只能保留两位,和“|”,
需求是这样的:一个输入框可以输入多个不同的金额每个金额以“|”符号隔开,
比如 : 999.99|520|888.88|66.66|1314

按照你的要求判断输入金额的正则表达式如下

下面给你一个Java语言的例子,你看看吧.

参考技术A

正则:^[0-9]+(\\.[0-9]2)?$

思路:

用Python内置的字符串函数split()对输入进行分割,之后逐一判断,过滤掉不符合上面正则的字符.

具体实现,代码如下:


import re
text = input("输入,以|分割:")
numbers = text.split('|')
pattern = r'^[0-9]+(\\.[0-9]2)?$'
pattern = re.compile(pattern)
result = list(filter(pattern.match,numbers))
print(result)


输入: 999.99|520|888.88|66.66|1314|3.1415|9527|-12|-1.1|8080

输出:['999.99', '520', '888.88', '66.66', '1314', '9527', '8080']

以上是关于javascript判断输入小数点后是不是为两位的问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS中UITextField输入判断小数点后两位

js判断文本框输入的是不是数字,若是小数,小数点后只能有一位数字

求一个正则表达式只能输入数字小数点后两位和

js判断先判断是不是是数字或者小数,只能精确到小数点后两位,如果不是就提示,要求重新填写

js怎么判断输入的金额只能是小数点前10位,小数点后两位

js判断输入的数字是不是含有小数