gpt4 book ai didi

c# - 字符串到双数。(格式##.###,##)

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:49 24 4
gpt4 key购买 nike

我需要知道是否有办法将非普通格式的string解析为double,例如:

string str = "1.500,43";

double num = 1500.43;

我的尝试无效。我得到 0:

double number=0;
double.TryParse("1.500,43", out number);

我知道我可以删除 "." 并将 "," 更改为 "." 而不是 TryParse,但我想找到另一种方法。

有人知道怎么做吗?

最佳答案

如果您不使用任何 IFormatProvider用你的double.TryParse方法,它使用你的 CurrentCulture默认情况下。

可能是您的 CurrentcCultureNumberDecimalSeparator或/和 NumberGroupSeparator属性与 不匹配。

作为解决方案,您可以 .Clone您的 CurrentCulture 并将这些属性设置为;

var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.NumberDecimalSeparator = ",";
culture.NumberFormat.NumberGroupSeparator = ".";
double number;
if(double.TryParse("1.500,43", NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands,
culture, out number))
{
// Successful parsing
}

一般来说,用字符串方法替换 ., 不是一个好主意。

关于c# - 字符串到双数。(格式##.###,##),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957262/

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