我已經在MySql中存儲了總數為(十進制16,2)1423.28 我做了一些計算后從PHP中得到了顯示: function calculate_balance($total){ //get total paid from another function $total_paid = ... if ($total_paid == 0){ return $total; }else{ return $total-$total_paid } } $balance = calculate_balance($total); echo number_format($balance, 2); //returns 1.00 我已嘗試 number_format((float)$balance, 2); number_format(floatval($balance), 2); 更新 var_dump($balance) 我得到了以下輸出。 string(8) "1,423.28" float(152) string(6) "252.00" string(6) "247.50" string(6) "247.50" string(6) "247.50" string(6) "549.90" string(6) "495.00" float(0) string(6) "284.76" float(265) 對于小于1,000的值,它在沒有number_format()的情況下工作正常。 例如:如果余額等于252.00 echo $balance; 輸出 252.00 您的函數返回1,423.28?這不是浮點型,因為浮點型從不包含逗號作為千位分隔符。 PHP將其解釋為1,因為它在逗號處"中斷"。 去掉逗號就可以了! $balance = str_replace(',', '', $balance); |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信