Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    10

    Separatore decimali per variabili Float

    Ciao ragazzi!

    Questo è il mio primo post sul forum;

    Utilizzo spesso BlueJ per programmare e noto che, trattando variabili di tipo double,
    sul mio pc, si verificano le seguenti situazioni:
    -durante la scrittura del codice devo utilizzare il punto (.) come separatore dei decimali;
    - durante l'esecuzione di un programma, il compilatore restituisce su output tastiera valori double che utilizzano sempre il separatore punto(.);
    --quando viene chiesto input da tastiera, l'utente DEVE utilizzare la virgola(,) come separatore dei decimali, altrimenti viene visualizzato l'errore:
    "java.util.inputMismatchException: null (in java.util.Scanner)".

    Cio' non mi convince affatto, poiche' quando utilizzo bluej su altri pc l'input di un valore floating point deve necessariamente impiegare il punto(.).
    Come dovrei comportarmi?
    ps. Io ho un notebook Acer Aspire con OS: Windows 7

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Non vorrei sbagliarmi ma in java quasi tutte le classi utilizzano la convenzione di ricevere e restituire i numeri decimali con il punto...una classe che fa differenza è proprio quella da te citata (Scanner) , che se non ricordo male ad esempio nell'input di numeri decimali richiede la separazione tra parte intera e decimale con la virgola...

    dunque o utilizzi altre classi per l'input o continui ad usare Scanner prendendo atto di questa differenza di convenzione...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Di solito queste cose dipendono dalla localizzazione, dà un'occhiata alla documentazione alla voce "Localized numbers": http://docs.oracle.com/javase/7/docs...l/Scanner.html

    La localizzazione specifica anche qual è il separatore fra parte intera e parte decimale, guarda qual è il Locale di default sul tuo sistema, magari prevede la virgola. Se il tuo programma dipende da questo, assicurati che venga sempre utilizzato un Locale compatibile, oppure scrivi un codice più flessibile.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    10
    Grazie mille Zipangulu per la tua risposta!
    Faccio notare, però, che riscrivendo gli stessi codici sul mac del mio professore(su cui è installato linux), nel digitare l'input dovevo necessariamente usare il punto per la separazione delle cifre(sempre utilizzando la classe Scanner).
    Ad ogni modo, grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    10
    Kaamos, ho seguito le tue indicazioni...utilissime!
    A quanto ho capito devo settare con un metodo le informazioni riguardanti Paese, tastiera e via dicendo.
    Grazie!

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.