1
我有一个简单的功能,我正在使用,但由于某种原因,数字计算不正确,因为它会在计算器中。我认为这与数字太大有关,或与64位有关。有什么方法可以将它们转换为正确的?PHP 64位数字?
$sSteamComID = 76561197990369545;
$steamBase = 76561197960265728;
function convertToSteamID($sSteamComID) {
$sServer = bcmod($sSteamComID, '2') == '0' ? '0' : '1';
$sCommID = bcsub($sSteamComID, $sServer);
$sCommID = bcsub($sCommID, $steamBase);
$sAuth = bcdiv($sCommID, '2');
echo "$sServer:$sAuth";
}
convertToSteamID($sSteamComID);
此功能输出0:15051912在服务器上时,它应该打印1:15051908
不是一个深入的评估,但我不认为你需要引用你的数值。 – 2010-09-11 02:41:00
谢谢你们。 Stereofrog似乎已经修复了它:) – Jake 2010-09-11 02:51:49