我已经制作了一个程序来反转数字,但每次0都会附加到结果中.
$num = 675;
$rev = 0;
while($num > 0) {
$temp = $num % 10;
$rev = ($rev * 10) + $temp;
$num = (int) $num / 10;
}
echo $rev; //result is 5760
Run Code Online (Sandbox Code Playgroud)
你的问题是这一行:
$num = (int) $num / 10;
Run Code Online (Sandbox Code Playgroud)
这与:
$num = ((int) $num) / 10;
Run Code Online (Sandbox Code Playgroud)
所以它实际上没有投射结果.使用额外的括号:
$num = (int) ($num / 10);
Run Code Online (Sandbox Code Playgroud)
这是你完整的代码.
<?php
$n = 3456;
$reverse = 0;
while ($n > 0)
{
$reverse = $reverse * 10;
$reverse = $reverse + $n%10;
$n = (int)($n/10);
}
echo $reverse;
?>
Run Code Online (Sandbox Code Playgroud)
输出将是6543
| 归档时间: |
|
| 查看次数: |
11965 次 |
| 最近记录: |