Quantcast
Viewing all articles
Browse latest Browse all 13

Leer CSV

mira el error que me da y es creo que por que esta con el simbolo €

Fíjate en donde haces la conversión mediante "Decimal.Parse". Esta función admite un parámetro opcional llamado "NumberStyles" donde le puedes decir que admita el símbolo de moneda (NumberStyles.AllowCurrency) y también tiene más valores para que acepte otras cosas tales como espacios en blanco. Puedes poner NumberStyles.Any para que admita "de todo".

... Decimal.Parse(fila[6].etc.etc, NumberStyles.Any) ...

https://docs.microsoft.com/en-us/dotnet/api/system.decimal.parse?view=netframework-4.7.2#System_Decimal_Parse_System_String_System_Globalization_NumberStyles_

Por cierto, no me gusta nada el ...Replace('.',',')... Esto hará que tu programa falle si alguna vez lo ejecutan en un Windows que tenga configurado el punto como separador decimal. Te recomiendo usar el CurrentCulture para tomar el separador decimal que realmente está configurado en el sistema en lugar de presumir que siempre va a ser una coma.

Ah, y otra cosa: no sirve para nada la llamada que tienes a Convert.ToDecimal. El Decimal.Parse ya devuelve un Decimal, por lo que es completamente inutil convertirlo a Decimal.


Viewing all articles
Browse latest Browse all 13