我正在尝试在字符串变量中使用硬编码的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 举报,一经查实,本站将立刻删除。