Diferencia en decim...
 
Avisos
Vaciar todo

Diferencia en decimales

2 Respuestas
2 Usuarios
0 Reactions
1,566 Visitas
Respuestas: 12
Active Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola,
Tengo una tienda virtuemart configurada para que utilice 3 decimales y aunque los muestra en los precios, a la hora de pasar los productos al carro de la compra redondea a 2, aunque sigue mostrando 3. En la imagen adjunta queda claro.
¿Tengo que modificar algo más para que todo trabaje con 3 decimales?

Gracias


 
Respondido : 16/11/2011 9:18 am
Pablo Velasco
Respuestas: 20382
Illustrious Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola,

Para trabajar con 3 decimales en Virtuemart es necesario, además de poner el valor de 3 en el parámetro Decimales de Editar tienda realizar cambios en dos archivos del componente.

El primero hay que realizarlo en el archivo administrator/components/com_virtuemart/html/basket.php
Hay que buscar la línea con el código:

$product_price = round( $product_price, 2 );

y cambiarlo por:

$product_price = round( $product_price, 3 );

Con esto al iniciar el proceso de compra ya se trabajaría con 3 decimales. En el módulo del carrito se seguirán viendo el redondeo a 2 decimales. Para arreglarlo editamos el archivo administrator/components/com_virtuemart/html/shop.basket_short.php y buscamos la línea:

$subtotal = round( $price["product_price"], 2 ) * $cart[$i]["quantity"];

que cambiamos por la siguiente:

$subtotal = round( $price["product_price"], 3 ) * $cart[$i]["quantity"];

Si en lugar de 3 se necesitaran más decimales, en lugar de poner el 3 en el cambio del código ponemos el número que nos interese.


 
Respondido : 18/11/2011 8:37 am