[請益] bigint to string 常整數轉換字串

看板PHP作者 (蔥頭)時間12年前 (2013/06/07 11:50), 編輯推噓2(2010)
留言12則, 5人參與, 最新討論串1/1
請問一下各位 因為需要使用到長整數, 但php會自動轉換成科學記號 有無辦法讓他不要轉成科學記號, 以字串方式顯示?? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.208.83.253

06/07 12:18, , 1F
sprintf("%ld") ?
06/07 12:18, 1F

06/07 12:59, , 2F
這不是PHP本身的問題 這是OS(32/64)BIT儲存一個INT的
06/07 12:59, 2F

06/07 13:00, , 3F
問題 當你直接用 $a = 88888888888 其實這已經是
06/07 13:00, 3F

06/07 13:00, , 4F
Float 上面這個數字是例子 應該要更多位數
06/07 13:00, 4F

06/07 13:01, , 5F
所以怎樣轉做字串都會是科學記數 我想你可以從長整
06/07 13:01, 5F

06/07 13:02, , 6F
數的來源著手
06/07 13:02, 6F

06/07 13:11, , 7F
http://tinyurl.com/2ysdj4 這邊說得很詳細
06/07 13:11, 7F

06/07 13:20, , 8F
php有bcmath函式庫
06/07 13:20, 8F

06/07 13:33, , 9F
所以如果超過該型態的range就會自動轉成科學記號表示?
06/07 13:33, 9F

06/07 14:15, , 10F
正確來說是轉成浮點數, 而浮點數以科學記號形式儲存
06/07 14:15, 10F

06/07 19:17, , 11F
一開始給的值已經 int overflow,php 就會自動轉用 float
06/07 19:17, 11F

06/07 19:20, , 12F
以前算加密的key(2048-bit)都自己建一個大數運算物件出來用
06/07 19:20, 12F
文章代碼(AID): #1HiLYBYm (PHP)
文章代碼(AID): #1HiLYBYm (PHP)