本篇文章給大家介紹一下PHP把科學計數格式轉化為數字字符串的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

科學計數格式轉化為字符串
將一個科學計數格式的數:1.2345678987654321e+30 轉化為字符串‘123456789876543210000000000000’
首先將變量進行拆分在重組得到結果
實現原理:(1)將1.2345678987654321e+30拆分為1.2345678987654321和+30
(2)在用1.2345678987654321乘以10的30次方,10的30次方用php函數pow(10,30)來得出。
a.第一種方法,從最普通的想法來
public function sctonum($num){ if(false !== stripos($num, "e")){ $a = explode("e",strtolower($num)); $b = $a[0] * pow(10,$a[1]); return $b; }else{ return $num; } }
b.用循環來得出
public function numToStr($num) { $result = ""; if (stripos($num, 'e') === false) { return $num; } while ($num > 0) { $v = $num - floor($num / 10) * 10; $num = floor($num / 10); $result = $v . $result; } return $result; }
c.全部用php函數來得出
public function sctonum($num, $double = 5){ if(false !== stripos($num, "e")){ $a = explode("e",strtolower($num)); return bcmul($a[0], bcpow(10, $a[1], $double), $double); }else{ return $num; } } //注$double 是小數位數,可默認設置為沒有
總結及建議:一萬個人眼里一萬個哈利波特!每個結果可以由不同的過程來實現,首先用你自己最順手的,然后再來優化,其次借鑒能理解又高效規范的方法,比如c,簡潔高效。
推薦學習:php視頻教程
站長資訊網