您的位置:首页 > 编程语言 > C#

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

2010-10-30 18:23 696 查看
// <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;
}
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# string