PHP 进制转换 dechex 无法正确计大数字问题
博客专区 > 18y 的博客 > 博客详情
PHP 进制转换 dechex 无法正确计大数字问题
18y 发表于4个月前
PHP 进制转换 dechex 无法正确计大数字问题
  • 发表于 4个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

摘要: 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

 

共有 人打赏支持
粉丝 3
博文 43
码字总数 11056
×
18y
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: