从int变量中获取ASCII

时间:2013-11-30 21:25:42

标签: c# .net

这是我尝试过的

            int two = 2;
            int asciiX = (int) 'x';
            int asciiTwo = (int) two;
            Console.WriteLine("The ascii value of 2 is " + asciiTwo);
            Console.WriteLine("The ascii value of x is " + asciiX););

我希望输出为50,因为ascii值为2是50(这是ASCII代码'2')

但我得到了这个结果:

The ascii value of 2 is 2
The ascii value of x is 120 (it's working for x)

我知道如果我放int asciiTwo = '2';它会起作用,但它不是直接从变量处理我该怎么办,得到一个int变量中的数字的ascii代码?

2 个答案:

答案 0 :(得分:1)

twoint,其值为2。您正在向int投射int。这不会改变任何事情。

您至少可以通过两种方式获取ASCII值:

(int)(two.ToString())[0] //the first char of the string representation of two
(int)(two + '0') //numbers start at '0' in the ASCII table

答案 1 :(得分:0)

您将two变量声明为intint的{​​{1}}是int本身。

您想要的是将其声明为intchar

string