如何在PHP之后删除所有数字

lov*_*ing 6 php

例如:1.123 => 1 1.999 => 1

谢谢.

sel*_*oup 25

$y = 1.235251;
$x = (int)$y;
echo $x; //will echo "1"
Run Code Online (Sandbox Code Playgroud)

编辑: 使用显式强制转换为(int)是此AFAIK的最有效方法.同样,转换为(int)将切断"."之后的数字.如果数字为负数而不是舍入到下一个较低的负数:

echo (int)(-3.75); //echoes "-3";
echo floor(-3.75); //echoes "-4";
Run Code Online (Sandbox Code Playgroud)

  • 事实上,显式转换比floor()更快,但是,当您关注这种微观评估时,那么您首先应该不使用PHP. (2认同)

Les*_*ove 21

floor() 
Run Code Online (Sandbox Code Playgroud)

将数字向下舍入到最接近的整数.

编辑:正如Mark下面所指出的,这只适用于正值,这是一个重要的假设.对于负值,您需要使用ceil()- 但检查输入值的符号会很麻烦,您可能想要使用Mark或TechnoP的(int) cast想法.希望有所帮助.

  • 我不确定这是否适用于 PHP,但是 (int)-cast 可能会产生一些溢出...啊,http://stackoverflow.com/questions/300840/force-php-integer-overflow 告诉我们:PHP最大整数为 2147483647。 (2认同)