Comment convertir une string en int?
Comment convertir une string en int?Je sais convertir.ToInt32 est utilisé.Mais il échoue.L'erreur est la chaîne d'entrée n'est pas au bon format.
String s1 = "12.00"
- 12.00 n'est pas un entier, son au format décimal!
Vous devez vous connecter pour publier un commentaire.
erreur est parce que la chaîne est
"12.00"
d'abord le convertir en chaîne de caractères à double que dans les int
ou
SI vous voulez juste partie entière de ce que
Également vérifier déjà répondu threads sur DONC : C# convertit une Chaîne Décimale à Int
J'aime l'hypothèse que le séparateur décimal est toujours un point (
.
). Vous feriez mieux d'utiliser leInvariantCulture
, qui contient un NumberFormat qui spécifie explicitement le point comme séparateur décimal:À préciser: la moitié du monde n'utilise pas la dot, l'autre moitié par des virgules. Lorsque je l'exécute sur un PC avec un néerlandais de la culture et de ne pas spécifier un CultureInfo, il prend la valeur par défaut du système (virgule) et renvoie
1200
, en ignorant le point.Alors qu'il n'affecte pas directement votre problème, c'est quelque chose qui ne peut pas être assez souligné.
"12.00" est un nombre décimal, pas un entier. Les entiers n'ont pas les fractions de parts. Utilisation
Convertir.ToDouble
ou similaire pour obtenir un nombre à virgule flottante, ou coupez la partie décimale de la chaîne (le.
et ce qui suit) avant d'appelerConvert.ToInt32
.La chaîne "12.00" est un double/valeur décimale. Utiliser Des Doubles.Parse() ou Double.TryParse() ou les Convertir en.ToDouble().