C#(.net) 用Convert.ToString (Int32,16) 可以把当前的数转换为十六进制,结果为小写的,怎样改为大写?

2025-02-25 08:49:39
推荐回答(4个)
回答1:

首先,在C#中,int实际上是System.Int32,这是32位。

其次,(INT)和Convert.ToInt32是两个不同的概念,前者是一种类型转换,而后者则是一个内容转换,它们并不总是相等的。我们很清楚C#提供类型检查,你不能字符串转换成int,隐式转换,更是不可能的,例如,下面的代码将无法正常工作:

字符串文本=“1412 “

ID =(int)的文本;

string和int是两个完全不同的,不兼容的类型。在这里,你可能会问,什么被认为是兼容的?事实上,它能够使用强类型转换(int)的只能是数字类型,如长,短,双,但这种转换时,你需要考虑精度问题。

但是,我们非常清楚地知道,文本实际上是存储在上面的代码是一个数字,我们希望,这个值将被提取并存储为未来的业务使用一个int,那么你需要的内容转换。内容转换,也被称为解释,我们稍微一下上面的代码可以实现自己的目标:

字符串文本=“1412”;

ID = Convert.ToInt32(文本); / a>

另外,你也可以使用Int32.Parse和Int32.TryParse解释。

另外,你会发现的Convert.ToInt32许多重载版本,Convert.ToInt32(double值),当我们使用这个版本双转换为int,支持ToInt32检查转换的值是否是int是否“跨界”会发生,如果它抛出OverflowException,否则它会为你转换,但投(INT),如果转换值大于Int32.MaxValue之间,那么你会得到错误的结果,例如,下面的代码:

双D = Int32.MaxValue之间+ 0.1412;

INT I =(int)的D;

但是不管是什么数字转换精度的问题,必须加以考虑。

(转载)

回答2:

Convert.ToString (Int32,16) .ToUpper()

回答3:

直接这样就可以了 int a = 1233; a.ToString("X");

回答4:

楼上正解