2016-03-06 159 views
0

好的,所以我需要這個號碼3.55687428096E+14實際上看起來像一個合適的整數。我不知道該怎麼做才能讓它看起來像一個整數,以便我可以繼續使用我的編碼。基本上,沒有解決這個數字3.55687428096E+14,我不能正常進行。以下是我的代碼,請幫助!這是什麼意思和如何解決它? - 3.55687428096E + 14

<?php 
$num = 17; 
$fact = $num; 

echo "The factorial of $num is $num X "; 
while ($num > 1){ 
    --$num; 
    if ($num != 1){ 
     echo "$num X "; 
    } 
    else{ 
     echo "$num <b>equals</b> "; 
    } 

    $fact = $fact * $num; 
} 
echo $fact ."<br/>"; 
?> 

順便說一句,這個數字3.55687428096E+14是我運行程序後得到的結果。它可以直到因子16,但一旦它變成17,事情變成3.55687428096E+14!

+0

'number_format(3.55687428096E + 14,0,'','')' –

+0

好的,那麼這是做什麼的,我在哪裏可以插入這段代碼Anant? –

+0

看起來像一個合適的整數給我 –

回答

0

如果您的號碼變得非常大,您可以使用用戶number_format()函數。

number_format()

的number_format()函數格式化與分組數以千計的數。

您的代碼

<?php 
$num = 17; 
$fact = $num; 

echo "The factorial of $num is $num X "; 
while ($num > 1){ 
    --$num; 
    if ($num != 1){ 
     echo "$num X "; 
    } 
    else{ 
     echo "$num <b>equals</b> "; 
    } 

    $fact = $fact * $num; 
} 
echo number_format($fact) ."<br/>"; 
?> 
0

更改的最後一行有:

echo number_format($fact,0) ."<br/>"; 
+0

ok ......所以number_format正在工作,但我猜測不夠充分。我想我需要採取馬克貝克建議的第一件事。雖然不知道這是什麼意思.... –

+0

它的工作和正確。它將輸出355,687,428,096,000。這是你正在尋找的數字 –

0

@馬克·貝克: - 我的代碼下面這是成功運行了。感謝您的信息和支持:

<?php 

echo "<h2>Find the sum of the digits in the number 100!</h2>"."<br/>"; 

$num = 100; 
$fact = $num; 
echo "The factorial of $num is $num X "; 

while ($num > 1){ 
    --$num; 
    if ($num != 1){ 
     echo " $num X "; 
    } 
    else{ 
     echo " $num"; 
    } 

    $fact = bcmul($fact,$num); //right over here! 
} 

echo " which equals" ."<br/>". "<h3>$fact</h3>"; 

//proceeding now to calculate the sum of the digits of the factorial! 
$_array = str_split($fact); 
$sum = array_sum($_array); 
echo "The sum of the digits of the factorial is " ."<br/>"; 
echo "<h3>$sum</h3>"; 

?>

相關問題