香草JavaScript解决方案来检查数字是否不超过6位和2位小数
vanilla JavaScript solution to check if number has no more than 6 digits and 2 decimal places
我需要返回一个验证检查(布尔值),如果一个数字有不超过6位数字和不超过2位小数。
例如:1 = valid
10 = valid
111111 = valid
111111.11 = valid
1111111.11 = INVALID
1.111 = INVALID
查看堆栈溢出,我只能找到输入自动四舍五入的答案(不是我想要的)或小数点必须等于小数点后2位(最多不超过2位)。
显然,您需要
function valid(n) {
return no_more_than_six_digits(n) && no_more_than_two_decimal_places(n);
}
那么我们如何定义这些函数呢?
function no_more_than_six_digits (n) { return n < 1e7; }
function no_more_than_two_decimal_places(n) { return Math.floor(n * 100) === n * 100; }
这个函数应该可以工作
function t(x) {
return x < 1000000 && Math.floor(x*100)/100 == x;
}
的例子http://jsfiddle.net/q6511o17/1/
但请查看torazaburos的回答,以获得更完整的解决方案和解释。
很丑,但是很好用。
function validate(x) {
return Math.floor(x) < 1000000 &&
(x.toString().indexOf('.') == -1 ?
true : x.toString().split('.')[1].length < 3)
}
相关文章:
- 如何验证表单控制数据大小不超过2.5 mb
- 战舰游戏:允许在长度不超过4的战舰上注册命中
- For 循环不迭代,输出的数据不超过第一个任务
- 协调拖动移动不超过 30 FPS
- 正则表达式表示数字,不超过 3 位数字,十进制可以是 .50 或 .00
- 画布图像数据获取的值不超过 102,000 个
- 输入字段中不超过两个单词
- 有没有一个好的内联解决方案可以在不超过定义值的情况下进行累加
- 不超过两个重复字母/数字的正则表达式
- ng重复计数-筛选器更新次数不超过一次
- 在javascript中使用一个函数的时间不超过2秒内1次
- 在不超过堆栈限制的情况下,迭代或递归大量庞大函数的最佳方式是什么
- 将文本大小更改为不超过表单输入的宽度
- 随机设置图像之间不超过长度
- 只有当表达式匹配长度不超过12个字符时,Regex才进行匹配
- 将画布从一页复制到另一页,而不超过最大字符限制
- 删除长度不超过6的列表元素
- 考虑斐波那契数列中值不超过四百万的项,找出偶数项的和
- 如何设置js函数滚动让它不超过父元素的底部
- 香草JavaScript解决方案来检查数字是否不超过6位和2位小数