Spiegare questa eccezione Convert.ToInt64 InputStringFormat
-
20-08-2019 - |
Domanda
Qualcuno può dirmi perché:
var nl = Convert.ToInt64("17029268.1650117");
fallisce e invece devi farlo:
var nl = Convert.ToInt64(Convert.ToDouble("17029268.1650117"));
Perché sembra così stupido!
Soluzione
Probabilmente dovresti anche usare long.Parse (str)
Un long è un numero intero, quindi non puoi avere decimali amico. (ho provato a dirtelo su Twitter :))
Altri suggerimenti
Il manuale dice:
FormatException:
Il valorenon è costituito da un segno opzionale seguito da una sequenza di cifre (da zero a nove).
e un .
non è in a sequence of digits
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow