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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top