PHP避免大整數科學計數法


php 是沒有bigint的,超過一定長度其實是當做float類型處理的。在表示的時候,會使用科學計數法。

演示code

在客戶端執行:

php -r "echo 20123456789123456789;"

輸出:
2.0123456789123E+19

那么怎么避免這種情況呢?用number_format().

php -r "echo number_format(20123456789123456789,0,'.','');"

輸出:
20123456789123457024
很明顯最后2位不對。

如前面說的,int超過長度,已經益處,此時數據已經部分殘缺了。沒有解決辦法。處理方式就是表創建該字段不應該用數字,而應該用字符串。

參考資料

  1. 手冊-類型
  2. PHP怎么將超長數值轉換為字符串?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM