Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => : itasoft 05 Oct 2009, 09:08:19
-
Ciao a tutti,
dovrei visualizzare in flypage il 10% del prezzo di un prodotto in un campo aggiuntivo ma non riesco a capire cosa stia succedendo.
Posto il codice:
<?php
$remove = array("€","\n","\r","\t","\r\n"," ");
$numeric_price = str_replace($remove,"",$product_price);
$numeric_price = str_replace(",",".",$numeric_price);
$first_number = $numeric_price;
$second_number = 0.1;
$sum_total = $second_number * $first_number;
echo $sum_total;
?>
Ma è come se la stringa $numeric_price venisse sempre letta come stringa di testo e quindi il cast della variabile restituisce zero compromettendo il calcolo finale.
Mi sapreste aiutare? Dove stò sbagliando?
-
Ho trovato dove sbagliavo.
La variabil $product_price porta con sè anche i Tag HTML e bisogna rimuoverli prima di utilizzarla come variabile per i calcoli tramite questa funzione strip_tags()
<?php
$replacing = array('\r\n', '\n', '\r','&euro',';');
$numeric_price = trim((string) $product_price);
$numeric_price = str_replace($replacing, '', $numeric_price);
$numeric_price = str_replace(',', '.', $numeric_price);
$numeric_price= strip_tags($numeric_price);
$first_number = $numeric_price;
$second_number = 0.1;
$sum_total = $second_number * $first_number;
echo (int) $sum_total;
?>