关于c#:将int转换为字符串?

Convert int to string?

如何在C语言中将int数据类型转换为string数据类型?


1
string myString = myInt.ToString();


1
2
3
4
5
6
7
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();


以防你想用二进制表示,但你还是喝醉了昨晚的派对:

1
2
3
4
5
6
7
8
9
10
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();
}

注意:一些关于不能很好地处理结尾的东西…

编辑:如果您不介意牺牲一些内存来提高速度,可以使用下面的命令生成一个具有预先计算的字符串值的数组:

1
2
3
4
5
6
7
8
9
10
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("}");
}

1
2
int num = 10;
string str = Convert.ToString(num);

任何对象的ToString方法都应该返回该对象的字符串表示形式。

1
2
3
int var1 = 2;

string var2 = var1.ToString();

关于@xavier的回答,这里有一个页面,它可以加速几种不同方法之间的比较,以完成从100次迭代到21474836次迭代的转换。

这在很大程度上是一种联系:

1
2
3
4
int someInt = 0;
someInt.ToString(); //this was fastest half the time
//and
Convert.ToString(someInt); //this was the fastest the other half the time


1
string str = intVar.ToString();

在某些情况下,您不必使用ToString()

1
string str ="hi" + intVar;

或:

1
string s = Convert.ToString(num);

没有一个答案提到ToString()方法可以应用于整数表达式。

1
Debug.Assert((1000*1000).ToString()=="1000000");

偶数到整数字面值

1
Debug.Assert(256.ToString("X")=="100");

虽然像这样的整型文字经常被认为是糟糕的编码风格(幻数),但在某些情况下,这种功能可能会很有用…


1
2
3
4
using System.ComponentModel;

TypeConverter converter = TypeDescriptor.GetConverter(typeof(int));
string s = (string)converter.ConvertTo(i, typeof(string));


字符串S="+2;

你可以做一些好事,比如:字符串S=2+2+"你"就是"4你"