【发布时间】:2014-01-02 23:42:39
【问题描述】:
如何处理 php 中包含 24 位数字的 var 模块
00120345030000067890142807 % 97
这个操作的结果一定是1,但是问题是包含de值的var太长了。
【问题讨论】:
标签: php module int long-integer
如何处理 php 中包含 24 位数字的 var 模块
00120345030000067890142807 % 97
这个操作的结果一定是1,但是问题是包含de值的var太长了。
【问题讨论】:
标签: php module int long-integer
您可以使用BCMath PHP functions 处理大量数字。根据您的环境,BCMath 扩展通常已经与 PHP 捆绑在一起,如果您使用 Linux,则可以在您选择的包管理器中搜索它。如果您使用的是旧版本的 PHP,请告诉我,我希望可以向您展示如何从 php 源代码树手动编译扩展。
要使用的函数是bcmod - http://www.php.net/manual/en/function.bcmod.php
你可以这样使用它:
<?php
$bigNumber = '00120345030000067890142807';
echo($bigNumber % 97 . "\n");
echo(bcmod($bigNumber, 97) . "\n");
如果你运行它,你会看到它输出了预期的结果,而标准 mod 没有:
$ php -q test.php
65
1
【讨论】: