关于sprintf截取小数问题

WBOY
Lepaskan: 2016-10-23 00:00:03
asal
1441 orang telah melayarinya

问题:保留1位小数,不四舍五入,为整数时补0

很多人都说用sprintf('%.1f',$str);,但是取出来的结果还是有问题,
最后用这种方法解决:echo sprintf('%.1f', floor($str));

<code><?php $str1 = 12.34;
    $str2 = 12.35;
    $str3 = 12.36;
    echo sprintf('%.1f',$str1);//12.3
    echo sprintf('%.1f',$str2);//12.3
    echo sprintf('%.1f',$str3);//12.4
    
    echo sprintf('%.1f', floor($str3));//12.3
?>
</code>
Salin selepas log masuk

不是说不四舍五入的吗?为什么按四舍五入,5却不入,6才入;
而其他函数number_format($str)都是在5就入了,这是为什么?

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan