gpt4 book ai didi

c# - TryParse 等效于 Convert with invariantculture

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

在我的代码中,我经常使用以下转换:

Convert.ToInt32(value, Cultureinfo.InvariantCulture);
Convert.ToDecimal(value, CultureInfo.InvariantCulture);

由于最近的错误,我现在确实喜欢使用 TryParse 函数。我不完全确定我使用以下等效项是否正确,因为我不完全理解 NumberStyles 枚举。

Int64.TryParse(value, NumberStyles.Any, CultureInfo.invariantCulture, out output);
Decimal.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out output);

回答后在下面编辑

下面的代码应该是正确的选择:

Int64.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out output);
Decimal.TryParse(value, NumberStyles.Number, CultureInfo.InvariantCulture, out output);

最佳答案

您可以在 documentation 中阅读有关 NumberStyles 的内容.本质上,它允许您指定要解析的文本类型。

如果您想尽可能灵活,那么 NumberStyles.Any 是“最广泛”的选项。

Convert.ToInt32 等同于使用 int.ParseConvert.ToDecimal 等同于使用 decimal.Parse - 他们委托(delegate)给这些方法。

根据 documentation对于 int.Parse,默认值为 NumberStyles.Integer。并根据 documentation对于 decimal.Parse,默认为 NumberStyles.Number。如果您想与 Convert.ToInt32Convert.ToDecimal 的行为保持一致,您应该使用这些值。

关于c# - TryParse 等效于 Convert with invariantculture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30394248/

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