|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2010
Messaggi: 25
|
[java]tipi primitivi
Salve ragazzi,
chiedo a voi per non aspettare di chiedere al mio professore universitario e poi so che voi mi dareste una risposta migliore e più articolata =). ho sviluppato un piccola applicazione in java con un interfaccia grafica molto semplice (qualche jtextfield e un jbutton) che svolge una funzione di elaborazione di dati matematici per restituirne degli altri. dato che molti metodi implementati usano funzioni trigonometriche ho dei risultati con molti numeri dopo la virgola. Come faccio a restringere il numero di decimali dopo la virgola?tipo a 3 o 4 ![]() Grazie per il vostro aiuto! ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Puoi usare la System.out.printf. Guarda queste due prove:
Codice:
float f = 21.4563f; System.out.printf("21.4563 diventa: %.2f", f); Codice:
float f = 21.4563f; System.out.printf("21.4563 diventa: %.1f", f); EDIT: scusa mi sono accorto dopo che non hai specificato in fase di stampa e che inoltre usi un'interfaccia a finestre ![]() Ultima modifica di ndakota : 28-05-2010 alle 21:24. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Ti basta moltiplicare (castizzando a int) e dividere (ritornando a double) il numero per (10^n) dove n è il numero di cifra da lasciare dopo la virgola.
Alternativamente, per evitare eventuali perdite di dati dovuti a possibili narrow, puoi utilizzare il metodo statico format di String, con le stesse modalità indicateti nel post precedente. Ultima modifica di nuovoUtente86 : 28-05-2010 alle 22:23. |
![]() |
![]() |
![]() |
#4 | |
Junior Member
Iscritto dal: May 2010
Messaggi: 25
|
Quote:
in pratica ho fatto double pippo=7.9999999999 pippo=pippo*100; //pippo=799.9999 pippo=(int)pippo; //pippo=799 pippo=(double)pippo*100 //pippo=7.99 |
|
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Quote:
Quote:
Possano i Lancieri dell'Accademia della Crusca fare scempio di coloro che perpetrarono il putribondo assassinio. Addio!
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
||
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Be', a me "ritornando a double" ha fatto sorridere quando l'ho letta, suonava un po' come il titolo di un nuovo film (sulla falsa riga di "Ritorno al futuro")
![]() Condivido invece il "disgusto" nei confronti del verbo "castizzare"... ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Probabilmente sarebbe stato più freddo ed elegante scrivere 3 righe di codice, ma la persona avrebbe fatto, probabilmente, un "copia e incolla" poco significativo, senza realmente cogliere il senso di quelle istruzioni.
Ancora avrei potuto indicargli di fare una "conversione esplicita dal tipo double al tipo int", ma ne sarebbe risultata una frase stilisticamente impeccabile ma parimenti inefficace ai fini della discussione. Del resto credo questo sia una sezione del forum dove si tratta di programmazione e non la purezza della lingua italiana. |
![]() |
![]() |
![]() |
#8 | |
Junior Member
Iscritto dal: May 2010
Messaggi: 25
|
Quote:
Ci ho messo un po a capire cosa dovessi fare ma almeno ho capito e molto probabilmente se mi avessi messo 3 righe di codice le avrei copiate! Comunque meglio un italiano storto che si capisca cosa bisogni fare che un italiano perfetto incompressibile dal punto di vista della programmazione. |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
@nuovoUtente86: mea culpa, avrei dovuto specificarlo in calce al post, ma si faceva solo un po' di facile ironia, tanto per sorridere un po'; questo senza voler togliere nulla alla bontà & utilità del tuo intervento nei confronti dell'utente.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Ci mancherebbe, l' ironia ci deve essere e va benissimo. Va però anche detto che, spesso, risulta più utile l' utilizzo di termini tecnici storpiati nella nostra lingua, ma di utilizzo tecnico diffuso, piuttosto che parole fedelmente tradotte ma dalla scarsa contestualizzazione informatica.
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Dai, su, non nascondiamoci dietro a un dito. L'aulico non interessa a nessuno ma che almeno sembri italiano!
Uno può usare termini stranieri in una frase, c'è una regola ad hoc secondo cui quei la parola o il verbo non devono essere declinati o coniugati. Non dobbiamo necessariamente usare il termine "conversione" (sebbene non sia poi così male, sopratutto se consideriamo i termini "faldone" o "direttorio"). Puoi quindi "fare un cast a double" o fare "dei cast a double" (ma non dei casts). Non possiamo inventarci delle parole - salvo certe figure metaforiche - ed è facile capire il perchè: la soluzione proposta è a rischio di rounderrorizzazione e quindi non può essere usata nei casi in cui la decimalificazione del flottante produca un valore non boundato. Cosa si capisce? Si capisce che devo prenotare una visita dal logopedista. Circa il "ritornare" è un fatto che i verbi di moto siano intransitivi: non ci si può fare molto. Intransitivi significa che non hanno la capacità di trasferire un significato ad un oggetto. Per i verbi di moto l'oggetto è un luogo. Il caso del "ritornare a double" è particolare. L'essere intrasitivo comporta la necessità che esista una particella tra verbo ed oggetto. La particella c'è (a) ma l'oggetto non è un luogo. Potremmo dire "ritornare a double" se "double" fosse l'argomento di un discorso, da intendersi come luogo figurato. "... e ritorniamo al [problema del/discorso del] double". Per un programmatore tutto questo dovrebbe essere affascinante: è una delle tante grammatiche da conoscere.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#12 |
Junior Member
Iscritto dal: May 2010
Messaggi: 25
|
anche se non è in argomento con il titolo ne con la discussione che si è venuta a creare sul linguaggio italiano-programmazione ve lo chiedo qui per evitare di aprire un altro topic
ho creato un jdialog e ho inserito un jbutton il quale in teoria dovrebbe chiudere la finestra senza dover andare a cliccare il tastino x in alto. nel codice ho provato le seguenti implementazioni: Codice:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); } Codice:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } ho provato a cercare altre soluzioni ma non le ho trovate ora mi resta sperare che qualcuno di voi mi possa dare una mano per risolvere questo problema grazie |
![]() |
![]() |
![]() |
#13 | ||||
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Direttamente dai javadoc di JDialog: Quote:
Quote:
Quote:
Anche di questo si trova traccia nei javadoc. Ora, ci sono diversi modi per impostare un bottone che deve chiudere la finestra in cui risiede. Presumendo che 'dialog' sia l'istanza della tua JDialog e che 'btClose' sia l'istanza del JButton contenuto in essa, un metodo è quello di invocare setVisible(false) per nasconderla e dispose() per "distruggerla" (vengono rilasciate le risorse native neccessarie per la sua proiezione grafica): Codice:
btClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dialog.setVisible(false); dialog.dispose(); } }); Si potrebbe quindi fare in modo che alla pressione del bottone venga generato quello specifico evento che scatena la chiusura della dialog, secondo la sua specifica politica di chiusura. E' un WindowEvent caratterizzato da due oggetti: la "sorgente" dell'evento è la dialog stessa che deve chiudersi, e l'"identificatore" dell'evento è la costante WindowEvent.WINDOW_CLOSING. L'evento va generato e infilato nella coda degli eventi, in modo che venga processato appena possibile: Codice:
btClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { WindowEvent closing = new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING) dialog.dispatchEvent(closing); } });
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||||
![]() |
![]() |
![]() |
#14 | |
Junior Member
Iscritto dal: May 2010
Messaggi: 25
|
Quote:
ero disperato non volevo togliere il pulsante che mi chiudesse la finestra ma non sapevo come riuscire a fargli chiudere la finestra. ho cercato all'interno del javadoc ma si vede che non mi sono spinto troppo dentro da riuscire a capire il tutto capitemi sono al primo anno di ingegneria informatica!=) |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Però questi sono solo la documentazione delle API; forse all'inizio è più pratico documentarsi con i Sun Java Tutorial. A questa pagina trovi il "really big index": se lo scorri rapidamente (senza farti venire la tendinite, la pagina è lunga) vedrai che contiene una bella quantità di informazioni su moltissimi aspetti della tecnologia Java: tienteli sempre sotto mano ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:50.