2016-07-29 157 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”。