将非常大的十进制数转换为十六进制(1.67119535743 * 10 ^ 33)

时间:2009-06-03 20:02:18

标签: c# php decimal hex

我很好奇是否可以通过PHP或C#将非常非常大的十进制数字(例如1.67119535743 * 10 ^ 33 / 1.67119535743E + 33)转换为十六进制数。不幸的是,我以前的所有尝试都失败了。提前全部感谢!

2 个答案:

答案 0 :(得分:1)

您的意思是,将其转换为十六进制字符串?您可以查看bigint库,例如this one on CodeProject

BigInteger bi = new BigInteger("12345678901234567890");
string s = bi.ToHexString();

答案 1 :(得分:0)

我假设您将数字存储为字节数组,并希望将十六进制数字输出为字符串?

这应该在C#中完成:

public static string ConvertToHex(byte[] value)
{
    var sb = new System.Text.StringBuilder();
    for (int i = 0; i < sb.Length; i++)
        sb.Append(value[i].ToString("X"));

    return sb.ToString();
}