【发布时间】:2023-03-03 12:42:01
【问题描述】:
如何检查数字中的逗号?
假设我有一个字符串,它代表一个多项式项,看起来像这样
string x = "x+1+5,54";
现在用户想要输入并添加一个逗号,然后将是“x1+5,54” 这不再是一个数字了。如何使用 if 进行检查?
如果最后一个数字已经包含逗号,则不要附加另一个。
【问题讨论】:
-
您可以使用正则表达式 stackoverflow.com/questions/11009320/… 如果您使用 ',' 作为小数分隔符,只需将正则表达式从示例更改为 ^([-+/*]\d+(,\d+)?)*
-
我建议寻找一个可以从字符串中解析公式来验证它们的第三方库,而不是自己实现它。
-
@DzianisKarpuk 如何使用这个正则表达式来过滤逗号?
-
如果字符串中的某些字符使其对您的目的无效,那么您确定哪些字符无效的标准是什么确切?删除字符很容易。知道用户不打算成为合法号码的一部分,不是那么多。请改进您的问题,以便您清楚准确地解释这里的规则是什么,以及具体您在实施时遇到了什么问题。
-
您应该使用生成表达式树的表达式解析器。这样,您可以单独验证每个操作数。这是解析或计算方程的最佳选择。