Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    13

    Togliere i decimali da una stringa

    Ciao a tutti, premetto che conosco poco le funzioni delle stringhe, ho una importo che è una stringa:

    String importo = 10000,0000;

    lo devo stampare senza i decimali, oppure devo stamparlo con un numero di decimali che decido io ad esempio se lo voglio con 2 decimali devo stampare 10000,00.

    Qualcuno mi sa aiutare?

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    13
    Please qualcuno mi risp!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Togliere i decimali da una stringa

    Originariamente inviato da Francy83
    ho una importo che è una stringa:

    String importo = 10000,0000;

    lo devo stampare senza i decimali, oppure devo stamparlo con un numero di decimali che decido io ad esempio se lo voglio con 2 decimali devo stampare 10000,00.
    Una soluzione è operare solamente a livello di stringa, usando ad esempio substring() insieme ad altri metodi di String (es. indexOf() se volessi andare a cercare la posizione della virgola).

    Un'altra soluzione è usare un NumberFormat, quindi "parsare" la stringa per ottenere un double e sempre con un NumberFormat/DecimalFormat (oppure con la nuova funzionalità di formattazione delle stringhe di Java 5) riformattarlo secondo le proprie necessità.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    13
    Grazie, mi sei stato di grande aiuto. Ho usato substring x stampare quanti decimali voglio io.

    Grazie ancora

    Ora devo inserire il punto delle migliaia nella parte intera, ci riuscirò???!!!!

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Francy83
    Ora devo inserire il punto delle migliaia nella parte intera, ci riuscirò???!!!!
    Sì, se usi la seconda soluzione che ho detto: convertire la stringa in un numero e poi riformattarla.

    codice:
    import java.text.*;
    import java.util.*;
    
    public class Prova
    {
        public static void main (String[] args)
        {
            try
            {
                String str = "1234,5678";
                
                NumberFormat nf = NumberFormat.getNumberInstance (Locale.ITALIAN);
                
                Number val = nf.parse (str);
                
                nf.setMaximumFractionDigits (2);
                
                System.out.println (nf.format (val));    // stampa 1.234,57
            }
            catch (ParseException e)
            {
                System.out.println (e);
            }
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    13
    Bungiorno Andrea, ho appena provato la il pezzo di codice che mi hai mandato e mi da il punto delle migliaia ma non le cifre decimali. Io invece per le cifre decimali facevo così:

    codice:

    public String formatNum(String importo, int numDec){ // numDec è il num dei decimali che voglio vedere

    String nuovo = "";
    for (int i=0;i<importo.length();i++){
    char c = importo.charAt(i);

    if (c==','){
    if(numDec==0){
    nuovo = importo.substring(0,i);
    System.out.println("nuovo "+nuovo);
    }else{
    nuovo = importo.substring(0,i+1+numDec);
    System.out.println("nuovo "+nuovo);
    }
    }
    }
    return nuovo;
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    13
    Ok funziona!
    Non vedevo i decimali perchè la mia stringa era str=10000,0000

    Grazie grazie

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Usa anche setMinimumFractionDigits() .... insomma, scegli tu quanti digit al minimo e al massimo usare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    13
    Il problema è che quando ho un importo del tipo importo = 5678,00 le cifre decimali non le visualizza invece io le devo visualizzare anche se sono tutti 0.

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Francy83
    Il problema è che quando ho un importo del tipo importo = 5678,00 le cifre decimali non le visualizza invece io le devo visualizzare anche se sono tutti 0.
    Ripeto .... setMinimumFractionDigits()
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.