Visualizzazione dei risultati da 1 a 8 su 8

Discussione: decimali che rottura!

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    decimali che rottura!

    Ciao a tutti, un nuovo intoppo che non riesco a controllare, in un campo prezzo
    l'utente deve scrivere il prezzo in euro, questo mi crea dei problemi se invece di usare
    il punto divisore da unità a decimali usa la virgola!
    Il database ha un campo double(10,2) se viene usato il punto tutto ok!
    anche se, prima di salvarlo lo formatto.
    Codice PHP:
    $prezzo=  number_format($prezzo,2,".",","); 
    mi porta sempre 0.00 se usa la virgola !!

    Come posso inibire o converire la virgola in punto?

    Mi date qualche suggerimento?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Codice PHP:
    $prezzo=str_replace(",",".",str_replace(".","",$prezzo)); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Grazie provo subitissimo!!

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    P.S. questa soluzione vale solo se tutti usano la virgola, per maggiore sicurezza ti conviene fare dei controlli javascript sul campo, e magari impedire di usare il carattere ","

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    ho parlato troppo presto! nel formato
    Codice PHP:
    $prezzo=str_replace(",",".",str_replace(".","",$prezzo)); 
    se scrivi 0,96 ora converte esattamente 0.96
    ma se scrivo 0.96 diventano 96.00
    Cioè va bene se scrivono con la virgola ma se mettono il punto è peggiorata la situazione!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    LAS!
    javascript! questo meraviglio mondo misterioso a me sconosciuto....
    ma non c'è un modo in php per controllare se hanno messo la virgola?
    in vb esiste instr(x,",") e mi restituisce la posizione della virgola.
    Ma php sono alle prime armi, ci sarà un comando similare?

  7. #7
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    prova così:

    Codice PHP:
    if(strpos($prezzo",") != FALSE){
         
    $prezzo=str_replace(",",".",str_replace(".","",$prezzo));


  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    Grazie Las! funge perfettamente!

    if(strpos($prezzo, ",") != FALSE){
    $prezzo=str_replace(",",".",str_replace(".","",$pr ezzo));
    }


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.