2016-07-29 357 views
0

我有通過在科學記數法輸出陣列繞環一些浮點值。number_format()沒有轉換科學記數法

我需要科學記數法轉換爲常規平浮長的符號價值。

我試過number_format(),但它仍然在科學記數法輸出,直到我的循環的最後一個週期?

<?php 
$parray = array(array('BTC-EXP','1',0.000097,1),array('BTC-VOX',7,number_format(0.000075,8),7)); 
for ($x = 0; $x <= 1; $x++) { 
     var_dump($parray); 
     foreach($parray as $pairp){ 
       echo "\nDebug info! Limit\n"; 
       echo $pairp[2]; 
       echo "\n"; 
       print_r(number_format($pairp[2],8)); 

     } 
} 

?> 

輸出:

Debug info! midpoint 
array(2) { 
    [0]=> 
    array(4) { 
    [0]=> 
    string(7) "BTC-EXP" 
    [1]=> 
    string(1) "1" 
    [2]=> 
    float(9.7E-5) 
    [3]=> 
    int(1) 
    } 
    [1]=> 
    array(4) { 
    [0]=> 
    string(7) "BTC-VOX" 
    [1]=> 
    int(7) 
    [2]=> 
    string(10) "0.00007500" 
    [3]=> 
    int(7) 
    } 
} 

Debug info! Limit 
9.7E-5 
0.00009700 
Debug info! Limit 
0.00007500 
0.00007500 
Debug info! midpoint 
array(2) { 
    [0]=> 
    array(4) { 
    [0]=> 
    string(7) "BTC-EXP" 
    [1]=> 
    string(1) "1" 
    [2]=> 
    float(9.7E-5) 
    [3]=> 
    int(1) 
    } 
    [1]=> 
    array(4) { 
    [0]=> 
    string(7) "BTC-VOX" 
    [1]=> 
    int(7) 
    [2]=> 
    string(10) "0.00007500" 
    [3]=> 
    int(7) 
    } 
} 

Debug info! Limit 
9.7E-5 
0.00009700 
Debug info! Limit 
0.00007500 
0.00007500 

如何通過整個週期的轉換我的浮點值長符號(拒絕短符號)?

回答

0

在$粒子陣列,您存儲一個號碼爲float(0.000097)和其他你存儲number_format的(0.000075,8)的結果,這是一個字符串。

這並不奇怪,然後,當你在0.000097打電話 echo $pairp[2];,你看到9.7E-5,但是當你迴音它number_format(0.000075,8),你看到的字符串表示(0.00007500)。

讓我們做同樣的print_r(number_format($pairp[2],8));。當它被稱爲float(0.000097)時,它將其格式化爲一個字符串,並且您看到0.00009700。當它被稱爲「0.00007500」時,該字符串被轉換爲浮點數0.000075,然後轉換回字符串「0.00007500」。