Tierprice decimales pantalla
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?
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