是否有任何巧妙的方法可以舍入到php中最接近的有效数字?
所以:
0->0 9->9 10->10 17->10 77->70 114->100 745->700 1200->1000
?
$numbers = array(1, 9, 14, 53, 112, 725, 1001, 1200); foreach($numbers as $number) { printf('%d => %d' , $number , $number - $number % pow(10, floor(log10($number))) ); echo "\n"; }
不幸的是,当$ number为0时,这失败了,但是对于正整数确实会产生预期的结果。这是一个纯数学的解决方案。