C# 10进制 16进制 互转

转载 2007年09月18日 11:27:00
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="10进制转16进制.aspx.cs" Inherits="数据算法_10进制转16进制" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>10进制16进制互转</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        10进制:
<asp:TextBox ID="P10jz" runat="server"></asp:TextBox><br />
        
<br />
        16进制:
<asp:TextBox ID="P16jz" runat="server"></asp:TextBox><br />
        
<br />
        
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
        
<asp:Button ID="aetu" runat="server" Text="16转10" OnClick="zuan" />
        
&nbsp; &nbsp;&nbsp;
                                     
<asp:Button ID="Button1" runat="server" Text="10转16" OnClick="zuan16" />

        
        
</div>
    
</form>
</body>
</html>

 

Cs 文件

 

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));
        
    }
}


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1763032

 

C# 进制转换(二进制、十六进制、十进制互转)

C# 进制转换(二进制、十六进制、十进制互转) 由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示 例如: 二进制: 1010 表示为 字符串:"1010"  int d =...
  • fwj380891124
  • fwj380891124
  • 2013年04月09日 09:37
  • 72858

C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换

在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。 其中的两个方法可以轻松的实现各种进制的数值间的转换: Convert.ToI...
  • sscrazy
  • sscrazy
  • 2012年05月30日 11:40
  • 2982

C#十进制转十六进制显示

  • 2013年10月12日 10:51
  • 765B
  • 下载

C#实现转换十六进制

C#实现转换十六进制 C#语言有很多值得学习的地方,这里我们主要介绍C#实现转换十六进制,包括介绍用来表示十六进制的枚举值是 HexNumber等方面。 C#实现转换十六进制 任...
  • kasama1953
  • kasama1953
  • 2016年08月09日 15:53
  • 1373

C#中二进制、十进制和十六进制互相转换的方法

二进制、十进制、十六进制相互转换
  • hit_why
  • hit_why
  • 2016年12月21日 14:41
  • 9491

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化 标签: c#stringbytebuffer 2012-02-21 09:55 19124人阅读 评论(1) 收藏 举报 ...
  • tudou880306
  • tudou880306
  • 2017年08月07日 15:44
  • 1293

转:C#,.net 二进制、十进制、 汉字, 十六进制互转

//十进制转二进制   Console.WriteLine(Convert.ToString(69, 2));   //十进制转八进制   Console.WriteLine(Convert.T...
  • daonidedie
  • daonidedie
  • 2014年07月03日 09:37
  • 7067

C# 进制转换(二进制、十六进制、十进制互转)

C# 进制转换(二进制、十六进制、十进制互转) 由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示 例如: 二进制: 1010 表示为 字符串:"1010"  int d =...
  • fwj380891124
  • fwj380891124
  • 2013年04月09日 09:37
  • 72858

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化 标签: c#stringbytebuffer 2012-02-21 09:55 19124人阅读 评论(1) 收藏 举报 ...
  • tudou880306
  • tudou880306
  • 2017年08月07日 15:44
  • 1293

c#实现16进制和字符串之间转换的代码

以下示例演示如何执行下列任务: 获取字符串中每个字符的十六进制值。  获取与十六进制字符串中的每个值对应的字符。  将十六进制 string 转换为整型。  将十六进制 string 转换为浮...
  • u012252959
  • u012252959
  • 2015年11月10日 17:32
  • 10305
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 10进制 16进制 互转
举报原因:
原因补充:

(最多只允许输入30个字)