Pregunta

Estoy tratando de mostrar con 4 decimales (i saber un poco extraño, pero el cliente exigió este) todos los precios. He sobrescrito Mago / Core / tienda, cambió la precisión currency.php en el lib Zend y Mage_Directory_Model_Currency ajustado.

En el back-end, todos mis precios se muestran correctamente, pero en el frontend i recibir un precio redondeado a 2 decimales seguidos de 00. Especialmente el precio de nivel es muy crucial.

Dado que no tengo ningún conocimiento en la fijación de precios que he probado algunos tutoriales sobre Magento Foro sin éxito. También probé 2 extensiones sin suerte.

Cualquier ayuda?

¿Fue útil?

Solución 3

decidí no hacerlo y aconsejaron al cliente para que se abstengan de empujar porque no pude conseguir ningún resultado exactas. Como se mencionó en los comentarios:

4 precisión decimal es inherentemente imprecisa en Magento.

Otros consejos

creo que encontrará lo que necesita en el interior format método 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);
}

tuve que reescribir por completo price.phtml de mi plantilla de todos modos, y solía
<?php printf("$%.2f", $_finalPrice) ?> por lo que podría hacer lo mismo pero con %.4f

Además, si necesidad de realizar comparaciones en los flotadores, recomiendo:
if( abs($_price1 - $_price2) < .0001 ) en lugar de if($_price1 == $_price2)

A veces, se necesita a menudo induce tipo de flexibilidad del php errores inesperados, de fundición de manera explícita a su tipo de datos deseado:. $margin=(float)1-$margin; he llegado a donde ni siquiera trato de apilar múltiples operaciones matemáticas en una sola línea de código

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top