gpt4 book ai didi

c# - 具有多个组分隔符的 Int32.TryParse

转载 作者:太空狗 更新时间:2023-10-29 20:17:02 25 4
gpt4 key购买 nike

我正在尝试创建一个方法来处理和验证输入为 ok 的整数。问题在于我们的要求,无论选择何种语言,都将以下数字作为 ok 输入:

1500, 1.500, 1,500, 1 500
-1500, -1.500, -1,500, -1 500
1500000, 1.500.500, 1,500,500 1 500 500
-1500000, -1.500.500, -1,500,500 -1 500 500

等等。

我的方法现在看起来像这样:

private bool TryParseInteger(string controlValue, out int controlInt)
{
int number;
NumberStyles styles = NumberStyles.Integer | NumberStyles.AllowThousands;

bool result = Int32.TryParse(controlValue, styles,
CultureInfo.InvariantCulture, out number);
controlInt = number;

return result;
}

这不符合我的要求。 1.500 和 1.500.500 未验证为正确输入。

还有其他方法可以解决这个问题吗?

感谢大家的帮助。事实证明 1.500,50(等等)不应该通过验证,这使得建议的解决方案不起作用。还有其他想法吗?

最佳答案

只需替换所有这些标志!

这段代码:

string[] arr = new[] { "1500", "1.500", "1,500", "1 500", "-1500", "-1.500", "-1,500", "-1 500",
"1500000", "1.500.500", "1,500,500","1 500 500",
"-1500000", "-1.500.500", "-1,500,500","-1 500 500"};

foreach (var s in arr)
{
int i = int.Parse(s.Replace(" ", "").Replace(",", "").Replace(".", ""));

Console.WriteLine(i);
}

产生:

1500

1500

1500

1500

-1500

-1500

-1500

-1500

1500000

1500500

1500500

1500500

-1500000

-1500500

-1500500

-1500500

关于c# - 具有多个组分隔符的 Int32.TryParse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22017714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com