我想在PHP中使用整数输入,但整数最多可达10 ^ 12
<?php
$input = fopen('php://stdin', "r");
fscanf($input, "%d", $x);
print $x;
?>
以上代码不适用于10 ^ 10之后的输入。我们如何获取此整数输入?这是link
答案 0 :(得分:3)
是的,您不能超过某个限制int
(取决于32位或64位平台)。您可以选择使用float
,但如果您需要绝对精度,则不适用。另一种方法是将数字保持为字符串,并使用bc math函数将其作为字符串进行操作。
$number = file_get_contents('php://stdin');
if (!ctype_digit($number)) {
trigger_error("$number is not a number");
}
echo $number;
echo bcadd($number, 42);