微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP:将64位整数转换为字符串

我正在尝试在字符串变量中使用硬编码的64位整数.

Simplfied我想做这样的事情:

$i = 76561197961384956;
$s = "i = $i";

哪个应该导致s:

i = 76561197961384956

这显然不适用于PHP将大整数浮动,因此s是:

i = 7.65611979614E+16

虽然其他几个方法如cast等失败,但我找到了number_format()并使用它:

$s = "i = " . number_format($i, 0, '.', '');

但这导致s:

i = 76561197961384960

看起来像一个近似问题,但如何解决这个问题?

解决方法:

你失去了赋值的精度,而不是字符串转换.如果这个变量的值实际上是硬编码的,而你无法改变它,那么你无能为力.

像这样的一行:

$i = 76561197961384956;

总会失去精确度.如果您需要保留整个内容,将其存储到字符串中,则不能将其存储为类似的int并保留所有数字.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐