当前位置: 首页 > 知识库问答 >
问题:

正则表达式-验证十进制数-不包括十进制的最大50位数字|十进制可选|十进制之前或之后允许的任何位数[关闭]

上官淮晨
2023-03-14

想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

我需要一个正则表达式,它将以这样的方式验证十进制数:

  1. 小数点之前/之后可以有任意数量的数字
  2. 整数的最大长度为50(不包括小数点)

例如,如果小数点前有5位数字,则小数点后最多可以有45位数字。

允许有50位数字,无小数点。

例如,它应该匹配这些数字:

12345678901234567890123456789012345678901234567890 12345.123456789012345678901234567890123456789012345

如果有人能在这方面提供帮助就太好了!

共有2个答案

西门经国
2023-03-14

您可以使用这个正则表达式,它将匹配数字在1到50之间的整数,或者将匹配长度为2到51的十进制数,假设。2有效,但2无效。

^(?:\d{1,50}|(?=\d*\.\d+$)(?=.{2,51}$)[\d.]*)$

说明:

  • ^--

这里有一个5-6而不是50-51的正则表达式,所以你可以轻松地玩它。

^(?:\d{1,5}|(?=\d*\.\d+$)(?=.{2,6}$)[\d.]*)$

演示最大长度5-6

龙学
2023-03-14

这就是你想要的吗?

^(?:\d{1,50}|(?=.{3,51}$)\d+\.\d+)$

演示

var test = [
    '12345678901234567890123456789012345678901234567890', '12345.123456789012345678901234567890123456789012345',
    '123456.7890',
    '123456789012345678901234567890123456789012345678901',
    '12345678901234567890123456789012345678901234567890.1'
];
console.log(test.map(function (a) {
  return a+' :'+/^(?:\d{1,50}|(?=.{3,51}$)\d+\.\d+)$/.test(a);
}));
 类似资料:
  • 我正在使用DecimalFormats将双打格式化为字符串。然后这个字符串被集成到我的表示层中。 问题:我想保留所有的小数。示例:“12345678.123456789” 格式:#.#- 我可以用##########对于大小数点,但是如果小数点更长呢? 我发现我的小测试程序很有用,想和大家分享。 你能帮我显示所有小数吗? 这导致: 编辑:一位用户提到了一个相关的问题:如何很好地将浮点数格式化为字符

  • Python3 实例 以下代码用于实现十进制转二进制、八进制、十六进制: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec

  • 主要内容:二进制数、八进制数和十六进制数的表示,二进制数、八进制数和十六进制数的输出C语言中的整数除了可以使用十进制,还可以使用二进制、八进制和十六进制。 二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。 1) 二进制 二进制由 0 和 1 两个数字组成,使用时必须以

  • 问题内容: 在JavaScript中验证十进制数字的最干净,最有效的方法是什么? 奖励积分: 明晰。解决方案应该干净简单。 跨平台。 测试用例: 问题答案: @Joel的答案非常接近,但在以下情况下将失败: 前段时间,我必须实现一个函数,以查明变量是否包含数值, 无论其类型如何 ,它都可能是包含数值(我还必须考虑指数符号等),对象,几乎任何东西都可以传递给该函数,我不能做任何类型假设,要注意类型强

  • 我可以运行这个程序,但由于某些原因,它会显示/放置随机字符,而不是二进制的初始值,而且我似乎无法将程序从十进制运行回二进制。我该如何改进这些代码。要明确说明它不会将二进制转换为十进制,我将如何将其转换回十进制转换为二进制,如果有一些代码可以帮助我,将不胜感激。

  • 问题内容: 我在Python中有一些实例。我希望格式化它们 因此,请确保始终至少保留两个小数位,甚至可能更多。虽然不存在舍入到小数位的解决方案的短缺,但我找不到找到确保数字下限的整洁方法。 我当前的解决方案是计算: 并选择两者中较长的一个。但是,它似乎有些骇人听闻。 问题答案: 如果您希望避免出现字符串问题: 未经测试的代码,但它 应该可以 工作。 这是这样的: d = 12.345 100倍 1