您的位置:首页 > 编程语言 > PHP开发

PHP 进制转换 dechex 无法正确计大数字问题

2017-07-25 00:00 411 查看
摘要: 16 进制 转换成 10进制,超出数字计算范围?

今天使用PHP 自带的进制转换出现问题

使用 hexdec 将 16 进制 转成 10进制之后,再将结果转成 16进制,发现无法还原

结果一直都是

7fffffff

查阅n多资料后,

PHP 的 16 进制转换成 10 进制,从 PHP 5.4 开始支持大数字的转换

但是 PHP 将10 进制转换成 16 进制仍有位数限制 文档地址: https://secure.php.net/manual/zh/function.dechex.php
解决方案如下
//大数字,10的16次方
$num = pow(10,16);
//PHP 数字超过一定长度时,会自动转换为 科学计数法 的形式,防止科学计数法
num = number_format($num, 0, '', '');
echo base_convert($a, 10, 16);


以下两篇参考文档
大数字转换
http://www.kanade.site/index.php/php-de-dechex-han-shu-zui-da-zhuan-huan-7fffffff-jie-jue-ban-fa/
防止科学计数法
http://www.cnblogs.com/52php/p/6066788.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 大数字 进制转换