1、由于要用Label显示数字,但取出的nid为十进制,需显示为十六进制
故用int.Parse(ViewState["nid"].ToString()).ToString("X")
其中,ViewState["nid"]是object类型,只有ToString()而没有ToString("X")方法,int就有ToString("X")方法。
2、SQL中用“print cast(120 asvarbinary(255))”,即能将十进制的120转换为十六进制0x00000078
sql/c#十六进制与十进制的转换
c#
//十进制转二进制
Console.WriteLine(Convert.ToString(69,2));
//十进制转八进制
Console.WriteLine(Convert.ToString(69,8));
//十进制转十六进制
Console.WriteLine(Convert.ToString(69,16));
//二进制转十进制
Console.WriteLine(Convert.ToInt32(”100111101″,2));
//八进制转十进制
Console.WriteLine(Convert.ToInt32(”76″,8));
//十六进制转十进制
Console.WriteLine(Convert.ToInt32(”FF”,16));
sql
--16进制数"0X00037FFE9994EE5E"转化为10进制:
select CONVERT(bigint,cast(0X00037FFE9994EE5E as varbinary)) as converted
--或:
select CONVERT(VARCHAR(50), CONVERT(bigint,0X00037FFE9994EE5E)) as converted
--在一个数据表中用nvarchar来存储该16进制数,用十进制取出
SELECT CONVERT(bigint, CONVERT(varbinary, CAST(N'0x' + N'00037FFE9994EE5E' AS char), 1))
http://www.cnblogs.com/mrliuc/archive/2011/09/15/2169710.html