In realtà sto affrontando un grosso problema con diversi siti Web (in realtà 3) basati su Prestashop. Il problema è che PHP o Prestashop arrotonda a caso i prezzi al numero intero più vicino ed è non sistematico.PHP - Problema di comportamento casuale rotondo
La maggior parte delle volte funziona perfettamente, come dovrebbe, ma a volte (possono essere necessarie settimane o mesi tra due problemi), il prezzo è arrotondato. La mia opzione di modalità round è impostata correttamente per visualizzare due decimali.
Il problema può verificarsi quando si modifica un prezzo del prodotto nel back-office o quando il cliente è alla fase di checkout.
Ho provato a riprodurre il problema, quindi ho creato un test di base: recupero le informazioni sul carrello e visualizzo il suo prezzo. Ho aggiornato la pagina molte volte e ho visto il prezzo arrotondato solo poche volte. La cosa più intrigante è che né il contesto né il codice sono cambiati tra l'inizio e la fine del test.
ho cercato aiuto su Google e nessuno sembrava avere questo problema ...
Soggetto con verifica questo problema? Pensi che sia un problema di PHP o di Prestashop? Grazie in anticipo per il vostro aiuto.
ecco il codice della funzione di turno Prestashop sta usando:
round($value, 2, PHP_ROUND_HALF_UP);
Per informazioni, la versione di PHP 5.4.39.
http://php.net/round - ci sono 4 metodi di arrotondamento. grep attraverso il codice di prestashop per vedere quale (i) sta usando. –
@MarcB Grazie per il tuo suggerimento, ho aggiornato la mia domanda con la funzione utilizzata da Prestashop. – Sebj