Tierprice decimali Display
Domanda
Sto cercando di visualizzare tutti i prezzi con 4 decimali (lo so un po 'strano, ma il cliente ha chiesto questo). Ho sovrascritto Mage / core / Store, cambiato la precisione currency.php nella lib Zend e Mage_Directory_Model_Currency regolata.
Nel backend, tutti i miei prezzi sono visualizzati correttamente, ma nel frontend ricevo un prezzo arrotondato a 2 decimali seguite da 00. In particolare il prezzo livello è molto importante.
Dal momento che non ho alcuna conoscenza nel pricing ho provato alcuni tutorial su Forum Magento senza successo. Ho provato anche 2 estensioni senza fortuna.
Qualsiasi aiuto?
Soluzione 3
ho deciso di non farlo e avvertita al cliente di astenersi da spingere perché non ho potuto ottenere alcun risultato esatto. Come accennato nei commenti:
4 precisione decimale è intrinsecamente impreciso in Magento.
Altri suggerimenti
Credo che troverete quello che vi serve nel metodo format
all'interno app/code/core/Mage/Directory/Model/Currency.php
.
/**
* Format price to currency format
*
* @param double $price
* @param bool $includeContainer
* @return string
*/
public function format($price, $options=array(), $includeContainer = true, $addBrackets = false)
{
return $this->formatPrecision($price, 2, $options, $includeContainer, $addBrackets);
}
ho dovuto riscrivere completamente price.phtml
del mio modello in ogni caso, e ho usato
<?php printf("$%.2f", $_finalPrice) ?>
così si potrebbe fare lo stesso, ma con %.4f
Inoltre, se la necessità di eseguire confronti su carri, mi raccomando:
if( abs($_price1 - $_price2) < .0001 )
invece di if($_price1 == $_price2)
A volte, è spesso necessario induce il tipo di flessibilità di PHP errori imprevisti, colata in modo esplicito al tuo tipo di dati desiderato:. $margin=(float)1-$margin;
ho ottenuto al punto in cui non ho nemmeno cercare di impilare più operazioni matematiche in una riga di codice