Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Conversione in euro di una stringa numerica

    C'è una funzioen che mi permetta di convertire nel giusto formato in euro qualunque stringa numerica venga passata tramite un form... faccio un esempio

    1) 10,000.00
    2) 10,000
    3) 10.000
    4) 10.000,00


    mi dovrebbe sempre apparire a video 10.000,00

    Usando number_format

    $prezzo_1="10,000.00";
    $prezzo_1 = str_replace(",", "", $prezzo_1);
    $prezzo_1 = number_format($prezzo_1, 2, ",", ".");

    mi funziona solo nel primo e nel secondo caso dove a separare le migliaia è la virgola e il punto per i decimali ma non funziona nel secondo e vicevarsa nel caso in cui imposti l'str_replace diversamente...

    qualcuno di voi ha una soluzuone che vada bene per qualunque formato venga inserito dall'utente del sito?

  2. #2
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    qualunque stringa numerica venga passata tramite un form
    è piuttosto complesso trovare una soluzione che vada bene per tutti i casi. Solitamente devi decidere cosa vuoi che sia il separatore decimale.

    altrimenti puoi splittare la stringa in segmenti (sostituisci . e , con un simbolo unico e poi splitta) e verificare:

    1. se c'è un solo segmento di meno di 4 cifre è un numero intero da restituire come tale
    2. se c'è un solo segmento di più di 4 cifre è un numero intero da formattare con il separatore delle migliaia
    3. se ci sono più segmenti e l'ultimo ha meno di 3 cifre allora è un numero decimale e devi usare gli altri segmenti per costruire la parte intera del numero.

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.