c#把任意数转换16进制
发布网友
发布时间:2024-10-19 20:33
我来回答
共4个回答
热心网友
时间:2024-12-02 00:27
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));
}
}
热心网友
时间:2024-12-02 00:27
int i = 16;
Console.WriteLine(i.ToString("x"));//十六进制
Console.WriteLine(i.ToString("d"));//十进制
自己看吧 虽然得100分自己都感觉到不好意思
热心网友
时间:2024-12-02 00:32
举个例子:在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);
}
热心网友
时间:2024-12-02 00:30
Convert.ToInt32(textbox1.text.Trim(), 2);
Convert.ToInt32(textbox1.text.Trim(), 8);
Convert.ToInt32(textbox1.text.Trim(), 10);
Convert.ToInt32(textbox1.text.Trim(), 16);