Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44

    Conversione Stringa in Importo

    Buongiorno, avrei bisogno di un aiuto:
    Vorrei convertire una stringa in un importo.
    Ad esempio se passo "Euro 1500" riesco a fare apparire i decimali ovvero "Euro 1500,00" ma non il "." tra l'1 e il 5.
    Esiste qualche metodo che faccia questo?
    Oppure come posso fare per usare il metodo substring?
    Il risultato finale dovrebbe essere: "Euro 1.500,00"
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    7
    String val = "Euro 1500";
    String temp = val.substring(5,val.length());
    double cifra;
    cifra = Double.parseDouble(temp);
    System.out.println(cifra);
    alla fine il valore di cifra è 1500.0
    per formattare un double non so aiutarti

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Innanzitutto ti devi "sbarazzare" della stringa della valuta. Devi lavorare solo sul numero (è quello che conta...).

    Quindi, puoi procedere in questo modo:
    codice:
    // Otteniamo un formatter per la valuta del sistema in uso (da noi, l'Euro)
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    
    // Convertiamo la stringa in numero
    String tuoValore = "Euro 1200";
    double valore = Double.parseDouble( tuoValore.substring(5, tuoValore.length()) );
    
    // Otteniamo la stringa formattata nel seguente modo: € 1.200,00
    String formattata = nf.format( valore );
    PS: Se intendi creare un formatter per una valuta diversa, puoi passare al metodo getCurrencyInstance() un oggetto Locale che rappresenta le informazioni del paese per il quale vuoi creare il formatter (ad esempio, se vuoi la stringa come valuta in dollari americani, utilizzerai Locale.US).

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Grazie mille!
    Alla fine ho utilizzato il metodo NumberFormat.getNumberInstance(); perchè mi serviva solo la cifra senza la "€".

  5. #5
    Se proprio vuoi fare un ottimo lavoro tramite subString() estrai la valuta. Trasferiscila a un metodo che ti ritorni un NumberFormat in base alla valuta che è stata digitata. Così facendo ti avvicini alle specifiche Java e otterrai inoltre vantaggi se dovessi modificare il programma per monete diverse dall'euro. Non ricordo il metodo, ma è tra quelli di String, tramite il quale puoi dividere la stringa in base allo spazio tra "euro" e "1500".

    il lupo perde il pelo ma non il vizio!
    http://www.pateam.eu
    http://pateam.altervista.org

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    7
    miticogilles credo ke ti riferisci al metodo split...

  7. #7
    Al momento mi viene da pensare al metodo trim() ma ho il dubbio che sia quello che restituisce la stringa senza gli spazi... Dovrei controllare ma sono sicuro che il metodo c'è perchè in un'esercitazione l'ho usato.... ce ne sono talmente tanti per String che è quasi impossibile ricirdarseli tutti.
    Per caso split restutuisce l'intero della posizione dello spazio?

    il lupo perde il pelo ma non il vizio!
    http://www.pateam.eu
    http://pateam.altervista.org

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    7
    no (non ho mai usato split in java) cmq se fai split sullo spazio ti restituisce un array
    con in posizione 0 la stringa ke sta prima dello spazio e in posizione uno quella ke sta dopo lo spazio...
    ovviamente se cerano piu spazi l array avrebbe contenuto piu elementi...

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.