我试图用表达式解析像 $15,270.75 这样的值

double cost = 0;
double.TryParse("$15,270.75", NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol | NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out cost);

但没有成功

最佳答案

不变文化的货币符号不是$,而是它的¤。这有效:

double cost = double.Parse("¤15,270.75", NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol | NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture);

您将需要一个完全支持这种格式的 CultureInfo

10-04 21:41