Comment puis-je convertir un type de données int
en un type de données string
en C#?Convertir int en chaîne?
Répondre
string myString = myInt.ToString();
int num = 10;
string str = Convert.ToString(num);
La méthode ToString de tout objet est supposée retourner une représentation de chaîne de cet objet.
int var1 = 2;
string var2 = var1.ToString();
ou:
string s = Convert.ToString(num);
string s = i.ToString();
string s = Convert.ToString(i);
string s = string.Format("{0}", i);
string s = $"{i}";
string s = "" + i;
string s = string.Empty + i;
string s = new StringBuilder().Append(i).ToString();
variété est le piment de la vie. –
@variety, j'espère que vous n'êtes pas marié avec ces opinions: p – VoodooChild
aussi vous pouvez le faire 'string count =" "+ intCount;' –
string str = intVar.ToString();
Dans certaines conditions, yo ne doivent pas utiliser ToString()
string str = "hi " + intVar;
plus sur @ réponse de Xavier, here's a page that does speed comparisons entre plusieurs différentes façons de faire conversion de 100 itérations jusqu'à 21 474 836 itérations.
Il semble à peu près un lien entre:
int someInt = 0;
someInt.ToString(); //this was fastest half the time
//and
Convert.ToString(someInt); //this was the fastest the other half the time
using System.ComponentModel;
TypeConverter converter = TypeDescriptor.GetConverter(typeof(int));
string s = (string)converter.ConvertTo(i, typeof(string));
Cette réponse est apparue dans la file d'attente de révision de mauvaise qualité, vraisemblablement parce que vous n'avez pas expliqué le code. Si vous l'expliquez (dans votre réponse), vous êtes beaucoup plus susceptible d'obtenir plus de votes upvotes, et le questionneur apprend réellement quelque chose! –
@TheGuywithTheHat Vous remarquerez qu'aucune des réponses ici n'a une explication du code, en particulier tous les exemples de code dans [cette réponse hautement mise à jour] (http://stackoverflow.com/a/3081940/933416), parce que c'est évident ce qu'ils doivent tous faire: convertir un int en une chaîne. Honnêtement, nous n'avons besoin de rien au-delà de la réponse acceptée - 'i.ToString' - le reste ne sont là que par souci d'exhaustivité et de plaisir. – nmclean
Un manque d'explication dans les autres réponses ne signifie pas que toutes les réponses devraient manquer d'explication. La seule raison pour laquelle j'ai commenté cette réponse particulière est que je l'ai vu dans la file d'attente de révision de qualité médiocre. –
Juste au cas où vous voulez que la représentation binaire et vous êtes toujours en état d'ébriété de dernière nuits partie:
private static string ByteToString(int value)
{
StringBuilder builder = new StringBuilder(sizeof(byte) * 8);
BitArray[] bitArrays = BitConverter.GetBytes(value).Reverse().Select(b => new BitArray(new []{b})).ToArray();
foreach (bool bit in bitArrays.SelectMany(bitArray => bitArray.Cast<bool>().Reverse()))
{
builder.Append(bit ? '1' : '0');
}
return builder.ToString();
}
Note: Quelque chose à propos de ne pas gérer l'endianness très bien ...
Editer: Si vous ne me dérange pas sacrifier un peu de mémoire pour la vitesse, vous pouvez utiliser ci-dessous pour générer un tableau avec des valeurs de chaîne pré-calculées:
static void OutputIntegerStringRepresentations()
{
Console.WriteLine("private static string[] integerAsDecimal = new [] {");
for (int i = int.MinValue; i < int.MaxValue; i++)
{
Console.WriteLine("\t\"{0}\",", i);
}
Console.WriteLine("\t\"{0}\"", int.MaxValue);
Console.WriteLine("}");
}
Il y a beaucoup ways.like
Int Value=2;
var s=Convert.Tostring(Value);
La capitalisation de ce code est désactivée, donc ce code ne compilera jamais. Aussi, cette solution est déjà mentionnée dans d'autres réponses, comme celles postées 5 ans avant ce post. –
Aucune des réponses a mentionné que la méthode ToString()
peut être appliquée à expressions entières
Debug.Assert((1000*1000).ToString()=="1000000");
même littéraux entiers
Debug.Assert(256.ToString("X")=="100");
Bien que des entiers comme celui-ci sont souvent considérés comme mauvais style de codage (nombres magiques) il peut y avoir des cas où cette fonction est utile ...
- 1. convertir la chaîne en int
- 2. convertir la chaîne [] en int []
- 3. convertir la chaîne en int en C++
- 4. Comment convertir un int ByteStream en chaîne?
- 5. Méthode intelligente pour convertir int en chaîne?
- 6. Comment convertir une chaîne en int?
- 7. convertir la chaîne en int signé
- 8. Comment convertir int * en int
- 9. En C#, Comment convertir une chaîne hexadécimale en int?
- 10. Convertir une chaîne de format binaire en int, en C
- 11. convertir int en octets
- 12. Convertir int en] [
- 13. Convertir int32 en int
- 14. Impossible de convertir int [] [] en int *
- 15. visual C++: convertir int en pointeur de chaîne
- 16. Comment faire pour convertir la chaîne à int en C
- 17. convertir la chaîne nombre euler à int en C#
- 18. Comment convertir chaîne (culture = "en-US"!) Int C# 2005
- 19. comment convertir la chaîne en int dans l'objectif c
- 20. Erreur "Impossible de convertir le type 'int' en 'chaîne'"
- 21. convertir int en chaîne avec une certaine longueur de caractère
- 22. realloc - convertir int en char
- 23. Comment convertir int [] en byte []
- 24. Comment convertir Scope_Identity() en int?
- 25. java convertir int en court
- 26. convertir un int en char *
- 27. convertir int flotter en hexadécimal
- 28. Convertir INT en DATETIME (SQL)
- 29. Convertir l'objet en primitive int
- 30. traitement: convertir int en octet
Mon problème c'est que vous perdez la sécurité de type. myInt pourrait être n'importe quoi. Rien ici ne dit de prendre un entier et de le convertir en chaîne. myInt peut être un objet et un objet ne peut pas être converti en chaîne. Cela est connu au moment de la compilation, mais cela n'augmenterait même pas une exception d'exécution, mais autoriserait simplement de mauvaises données. –
@TimothyGonzalez C'est un cas limite, si vous appelez .ToString() c'est généralement parce que vous avez besoin d'une chaîne de caractères et cela peut être une chaîne. – EpicKip