

//
<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;
}
}
/// 将十进制数转换成任意进制,支持小数
/// </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;
}
}