Comment pourrais-je convertir des données de la chaîne de long en c#
Comment pourrais-je convertir des données de la chaîne de long en C#?
J'ai des données
String strValue[i] ="1100.25";
maintenant, je veux en
long l1;
- Aspire à représenter des nombres entiers. Vous avez donné un non-entier. Que voulez vous faire avec ça?
- Que faire si strValue est "1100.75" ? Voir: stackoverflow.com/questions/633335/...
- si vous le convertir en décimal puis il va arrondir le nombre, je.e dans ce cas, si le nombre donné est 1100.75, alors il sera de sortie 1101.
- J'ai simplement soulevé la question, parce que MayP ne semble pas être pleinement conscient de l'implication ici. Il pourrait simplement se débarrasser de la non-partie entière sans aucun arrondi, et c'est très bien, à condition que c'est vraiment ce qu'il veut. Je vous remercie bien.
Vous devez vous connecter pour publier un commentaire.
Signature de la méthode à partir de MSDN:
Si vous voulez obtenir la partie entière de ce nombre, vous devez d'abord le convertir en un nombre flottant puis jeté à la longue.
Vous pouvez utiliser
Math
classe d'arrondir le nombre que vous le souhaitez, ou tout simplement de les tronquer...FormatException
si vous exécutez ce code sur l'entrée spécifiée.http://msdn.microsoft.com/en-us/library/system.convert.aspx
l1 = Convert.ToInt64(strValue)
Bien que l'exemple que vous avez donné n'est pas un nombre entier, donc je ne suis pas sûr de savoir pourquoi vous voulez comme un long.
Vous pouvez également utiliser
long.TryParse
etlong.Parse
.Vous ne serez pas en mesure de le convertir directement à la longue à cause de la virgule, je pense que vous devez le convertir en décimal, puis de le convertir en temps quelque chose comme ceci:
espérons que cette aide!
long est représenté en interne comme Système.Int64 qui est un 64 bits entier signé.
La valeur que vous avez pris "1100.25" est en fait une virgule et pas en entier donc il ne peut pas être convertie long.
Vous pouvez utiliser:
à la convertir en une valeur décimale
long de la l1 = Convert.ToInt64(strValue);
Cela devrait le faire.
Vous pouvez également le faire à l'aide de
Int64.TryParse
Méthode. Il sera de retour '0' si leur est toute la chaîne de valeur, mais ne génère pas d'erreur.