解析带有double.TryParse奇怪行为的数字

mar*_*are 7 c# parsing

为什么double.TryParse()这些设置不会解析

double.TryParse("1.035,00",
NumberStyles.AllowCurrencySymbol | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite |
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
GlobalSettings.Instance.DefaultCulture, out price);
Run Code Online (Sandbox Code Playgroud)

其中DefaultCulture是sl-SI(斯洛文尼亚语),其中点.为数字分组符号,并为小数点.该price遗骸0的解析之后.

Dan*_*rth 6

你错过了NumberStyles.AllowThousands:

double.TryParse("1.035,00", NumberStyles.AllowCurrencySymbol | 
                            NumberStyles.AllowLeadingWhite | 
                            NumberStyles.AllowTrailingWhite |
                            NumberStyles.AllowDecimalPoint | 
                            NumberStyles.AllowLeadingSign | 
                            NumberStyles.AllowThousands,
                            GlobalSettings.Instance.DefaultCulture, out price);
Run Code Online (Sandbox Code Playgroud)