關於sprintf截取小數問題

WBOY
發布: 2016-10-23 00:00:03
原創
1441 人瀏覽過

問題:保留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>
登入後複製

不是說不四捨五入的嗎?為什麼按四捨五入,5卻不入,6才入;
而其他函數number_format($str)都是在5就入了,這是為什麼?

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板