2012-01-03 72 views
1

這是一個棘手的問題要問。我的一位朋友尋求幫助,而我並沒有真正參與到項目中,因此很難描述問題。PHP:如何顯示數組中的十進制數?

他有一個用PHP編寫的購物車,在那個購物車中他希望所有的產品價格都計入總價中。

問題是,所有的價格都在MySQL數據庫中。顯示價格(帶小數)不是問題,但是,如果將這些價格計入並放入變量中,則不顯示小數。

我們該如何解決這個問題?

我會告訴你,他用在購物車顯示的價格代碼:

// Show cart 
foreach($cart as $products) { 
    // Split 
    /* 
    $product[x] --> 
     x == 0 -> product id 
     x == 1 -> hoeveelheid 
    */ 
    $product = explode(",",$products); 

    // Get product info 

    $sql = "SELECT product_nummer, productnaam, verkoopprijs 
     FROM product 
     WHERE product_nummer = ".$product[0]; // Komt uit de sessie 
    $query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__); 
    $pro_cart = mysql_fetch_object($query); 
    $i++; 
    $price = $pro_cart->verkoopprijs; // variable price aanmaken zodat er opgeteld wordt 

    echo "<tr>\n"; 
    echo " <td>"."&nbsp;&nbsp;&bull;&nbsp;".$pro_cart->productnaam."</td>\n";  // naam 
    echo " <td><input type=\"hidden\" name=\"productnummer_".$i."\" value=\"".$product[0]."\" />\n"; // wat onzichtbare vars voor het updaten 
    echo "  <input type=\"text\" name=\"hoeveelheid_".$i."\" value=\"".$product[1]."\" size=\"2\" maxlength=\"2\" /></td>\n"; 
    echo " <td class=\"rechtsuitlijnen\">"."&#8364;&nbsp;".$pro_cart->verkoopprijs."</td>"."\n"; 
    $lineprice = $product[1] * $price;  // regelprijs uitrekenen > hoeveelheid * prijs 
    echo " <td class=\"rechtsuitlijnen\">"."&#8364;&nbsp;".$lineprice."</td>\n"; 
    echo " <td><a href=\"javascript:removeItem(".$i.")\">X</td>\n"; //Product verwijderen 
    echo "</tr>\n"; 


    // Total 
    $total = $total + $lineprice; // Totaal updaten 
} 
?> 

回答

2

對於顯示格式的數字,您可以使用PHP sprintf函數(http://php.net/manual/en/function.sprintf.php

<?php 
$money1 = 68.75; 
$money2 = 54.35; 
$money = $money1 + $money2; 
// echo $money will output "123.1"; 
$formatted = sprintf("%01.2f", $money); 
// echo $formatted will output "123.10" 
?> 
+0

非常感謝你;)我們增加了$ lineprice2 = sprintf的( 「%01.2f」,$ lineprice);到我們的代碼,它像一個魅力:) – Forza 2012-01-03 13:56:50

1

用途:bcadd()

echo bcadd(10.50, 12.75, 2); 

收益23.25

1
string number_format (float $number [, int $decimals = 0 ]) 
string number_format (float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',') 

退房number_format文檔。

相關問題