¿Por qué double.TryParse()
con estos ajustes no analizarnúmeros de análisis sintáctico con un comportamiento extraño Double.TryParse
double.TryParse("1.035,00",
NumberStyles.AllowCurrencySymbol | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite |
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
GlobalSettings.Instance.DefaultCulture, out price);
donde DefaultCulture
es sl-SI (Eslovenia), que tiene el punto .
como símbolo de agrupación de dígitos y, como punto decimal . El price
sigue siendo 0
después del análisis.
?
TryParse devuelve un 'bool' que indica si el valor de análisis tuvo éxito o no. Para su ejemplo, TryParse devuelve 'false'. Entonces la causa de que 'price' sea' 0' es que la cadena no pudo ser analizada. – dtb
Me parece extraño que algunos voten cerca debido a la localización. Si el problema era la cultura, afectaría a muchas culturas, todas las que usaban coma como separador decimal, que es tanto el estándar ISO como la representación utilizada en la mayoría de los países –