初学C#之进制转换(支持十进制小数转任意进制【2到36进制】)

代码
// <summary>
/// 将十进制数转换成任意进制,支持小数
/// </summary>
/// <param name="DB">将要转换的数</param>
/// <param name="Type">转到的进制类型,例如:16</param>
/// <returns>字符串的结果</returns>
public static string DToAny(double DB,int Type)
{
string H = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
long D;
double B;
string tempD="", tempB="";
D
=(long)DB;
B
= DB - D;
if (D == 0)
{
tempD
= "0";
}
while (D != 0)
{
tempD
= H[(((int)D % Type))] + tempD;
D
= D / Type;
}
for (int i = 0; i < 7; i++)
{
if (B == 0
{
break;
}
tempB
+= H[((int)(B * Type))];
B
= B * Type - (int)(B * Type);
}
if (tempB == "")
{
return tempD;
}
else
{
return tempD + "." + tempB;
}
}

 

posted @ 2010-10-30 20:06  番茄零乱  阅读(893)  评论(1)    收藏  举报