PHP:如何将bigint从int转换为字符串?
发布时间:2020-12-13 14:13:55 所属栏目:PHP教程 来源:网络整理
导读:我想要将大型整数转换成他们的全部字符串派生词. 例如. $bigint = 9999999999999999999;$bigint_string = (string) $bigint;var_dump($bigint_string); 输出 string(7) "1.0e+19" 但是我需要 string(19) "9999999999999999999" 请不要告诉我,我应该最初将$bi
我想要将大型整数转换成他们的全部字符串派生词.
例如. $bigint = 9999999999999999999; $bigint_string = (string) $bigint; var_dump($bigint_string); 输出 string(7) "1.0e+19" 但是我需要 string(19) "9999999999999999999" 请不要告诉我,我应该最初将$bigint值设置为字符串.这不是一个选择.我真的很困惑,不知道是否有可能吗?
你实际上应该确保你键入你的意思:
$bigint = 9999999999999999999; 不是PHP整数,但是float: float(1.0E+19) 如果你会做的 $bigint = (int) 9999999999999999999; 实际上你会设置一个整数,但不会是你可能预期的数字: int(-8446744073709551616) 把它变成字符串是没有问题的,你可能已经猜到了.所以当你把数字写入代码中时,请注意你实际写的是什么意思. 再次看到这一行: $bigint = 9999999999999999999; 尝试了解你实际写的内容.它不是一个整数,因为PHP会把它变成一个浮点数.请参见示例#4 integer manual page中64位系统上的整数溢出. 如果你需要更高的精度,结帐GNU Multiple Precision,它可能有你要找的东西.但是,这不会改变如何在PHP中编写数字: $bigint = gmp_init("9999999999999999999"); $bigint_string = gmp_strval($bigint); var_dump($bigint,$bigint_string); 输出: resource(4) of type (GMP integer) string(19) "9999999999999999999" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |