js和C#中的进制转换方法

本文介绍在.NET Framework下如何使用System.Convert类实现不同进制数值之间的转换。通过具体示例展示了从二进制、八进制、十进制到十六进制的相互转换过程,并提供了一种通用方法来实现任意进制之间的转换。
摘要由CSDN通过智能技术生成

.net Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换:

Convert.ToInt32(string value, int fromBase):

可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:

如Convert.ToInt32(”0010”,2)执行的结果为2;

Convert.ToString(int value, int toBase):

可以把一个数字转换为不同进制数值的字符串格式,其中toBase参数为进制的格式,只能是2、8、10及16:

如Convert.ToString(2,2)执行的结果为”0010”

现在我们做一个方法实现各种进制间的字符串自由转换:选把它转成数值型,然后再转成相应的进制的字符串:

public string ConvertString(string value, int fromBase, int toBase)

{

  int intValue = Convert.ToInt32(value, fromBase);

  return Convert.ToString(intValue, toBase);
}
$ad$
其中fromBase为原来的格式

toBase为将要转换成的格式

//十进制转二进制
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));

js实现方法
function v10toX(n,m)
{
m=String(m).replace(/ /gi,"")
if(m=="")return ""
if(parseInt(m)!=m){M("请输入整数!");return ""}
var t=""
var a=ss.substr(0,n)
while(m!=0)
{
 var b=m%n
 t=a.charAt(b)+t
 m=(m-b)/n
}
return t
}

function vXto10(n,m)
{
m=String(m).replace(/ /gi,"")
if(m=="")return ""
var a=ss.substr(0,n)
if(eval("m.replace(/["+a+"]/gi,'')")!=""){M("请输入"+n+"进制数!");return ""}
var t=0,c=1
for(var x=m.length-1;x>-1;x--)
{
t+=c*(a.indexOf(m.charAt(x)))
c*=n
}
return t
}


function vXtoY(n,m,y)
{
a=vXto10(n*1,m)

if(a=="")return ""
a=v10toX(y,a)
return a
}

http://www.knowsky.com/tools/ToolJinzhi.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值