c#把任意数转换16进制

在winform中,设置一个button,一个label,一个textbox!要求在textbox中输入任意的数按下button,然后在label中显示出这个数的16进制... 在winform中,设置一个button,一个label,一个textbox!要求在textbox中输入任意的数按下button,然后在label中显示出这个数的16进制!还有转换2,8,10进制的方法,谢谢! 展开
 我来答
肖大爷的课堂
2009-01-07 · TA获得超过347个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:284万
展开全部
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class 数据算法_10进制转16进制 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}

/// <summary>
/// 10 进制 与16进制互转函数
/// </summary>
/// <param name="Shu">传入 10 进制 与16进制 数</param>
/// <returns></returns>
public void DateShu(string Shu)
{

}

/// <summary>
/// 判断一个字符串是不是 16 进制
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public bool Is16Jinz(string str)
{
bool reutn=false;
//把一个字符串转换成 char 数组
char[] baseAscII = str.ToUpper().ToCharArray();// ascII 48-57(0-9) ; 65-70(A-F)

for (int i = 0; i < baseAscII.Length; i++)
{
//如果字符 串为0-9 , A-F
if (System.Text.RegularExpressions.Regex.IsMatch((baseAscII[i]).ToString(), "[0-9]") || System.Text.RegularExpressions.Regex.IsMatch((baseAscII[i]).ToString(), "[A-F]"))
{
reutn = true;
}
else
{
reutn = false;
break;
}
// Response.Write(((int)baseAscII[i]).ToString());
}
return reutn;
}

/// <summary>
/// 传入一个字符串 如果是16进制的就把他转成10进制的
/// 10进制的就把他转成 16进制的
/// </summary>
/// <param name="str16">要转化的字符串 </param>
/// <param name="str16">要转化的进制 如转10进制 就写 10 </param>
/// <returns></returns>
public String GetJinZiShu(string Str16,int shu)
{
int Str10;

// 10 转16进制
if (shu == 16)
{
try
{
int.Parse(Str16);//如果是16就会出错
return int.Parse(Str16).ToString("X");
}
catch
{

}
}

//16进制 转 10 进制 将十位数乘以16加上个位数。如5A,将5乘以16得80,加上A的10进制10,结果是90。
if (Is16Jinz(Str16)&&shu==10)
{
Str10 = int.Parse(Str16, System.Globalization.NumberStyles.AllowHexSpecifier);
return Str10.ToString();
}

return "";
}

protected void zuan(object sender, EventArgs e)
{
if (Is16Jinz(P16jz.Text.Trim()))
{
Response.Write("是:" + GetJinZiShu(P16jz.Text.Trim(),10));

}
else
{
Response.Write("不是");
}

}
protected void zuan16(object sender, EventArgs e)
{
Response.Write("是:"+GetJinZiShu(P10jz.Text.Trim(),16));

}
}
百度网友e0346d636
2009-01-07 · TA获得超过391个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:0
展开全部
举个例子:在button的click事件中:
private void button1_Click(object sender, EventArgs e)
{
try
{ //把二进数转换为十进制数
int intTen = Convert.ToInt32(textBox1.Text.Trim(), 2);
//把十进制数转换为八进制数
textBox2.Text = Convert.ToString(intTen, 8);
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}

//二进制转换为十六进制

private void button2_Click(object sender, EventArgs e)
{

//把二进数转换为十进制数
int intTen = Convert.ToInt32(textBox1.Text.Trim(), 2);
//把十进制数转换为八进制数
textBox2.Text = Convert.ToString(intTen, 16);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海V飞天
2009-01-07 · TA获得超过450个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:271万
展开全部
int i = 16;
Console.WriteLine(i.ToString("x"));//十六进制
Console.WriteLine(i.ToString("d"));//十进制

自己看吧 虽然得100分自己都感觉到不好意思
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xupeiying
2009-01-07 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:571万
展开全部
Convert.ToInt32(textbox1.text.Trim(), 2);
Convert.ToInt32(textbox1.text.Trim(), 8);
Convert.ToInt32(textbox1.text.Trim(), 10);
Convert.ToInt32(textbox1.text.Trim(), 16);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式