php 十进制小数转十六进制表示

仅仅只是将小数部分显示为十六进制而已,例如:1.4142135623731 <=> 6a09e667

/**
 * 十进制小数 转 十六进制显示
 * @param float $decimal
 * @param int $len 16进制长度
 * @return string
 */
function dec2hex(float $decimal, $len = 8) {
    $hex = '';
    $count = 0;
    # 只取小数部分
    $decimal = fmod($decimal, 1);
    while ($count++ < $len) {
        $dec16 = $decimal * 16;
        # 取整 转16进制
        $hex .= dechex((int)$dec16);
        # 取小数部分
        $decimal = fmod($dec16, 1);
    }
    return $hex;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容