| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  12-12-2007, 16:32 | #1 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
				
				[JAVA] Formattazione delle stringhe
			 
		ragazzi, devo formattare una stringa in questo modo:
 Codice: X00-Y00\n pensavo a creare una maschera, oppure a riempire un vettore....ma spero che ci sia qualcosa nelle librerie (che non trovo).....chi mi aiuta??? 
				__________________ My gaming placement | 
|   |   | 
|  12-12-2007, 16:41 | #2 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		ho trovato in giro per le api (ritrovate   ) la classe Formatter....credo di non aver capito appieno come funziona, ma ora provo.....comunque se qualcuno ha suggerimenti   
				__________________ My gaming placement | 
|   |   | 
|  12-12-2007, 16:51 | #3 | 
| Senior Member Iscritto dal: Nov 2005 Città: TO 
					Messaggi: 5206
				 | 
		Da Java 5 la classe String (e alcune altre classi di I/O) ha il metodo format() che fa uso internamente di un Formatter (che è la classe che fornisce appunto queste funzionalità di formattazione).
		 
				__________________ Andrea, SCJP 5 (91%) - SCWCD 5 (94%) | 
|   |   | 
|  12-12-2007, 16:54 | #4 | |
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | Quote: 
   
				__________________ My gaming placement | |
|   |   | 
|  12-12-2007, 17:06 | #5 | 
| Senior Member Iscritto dal: Nov 2005 Città: TO 
					Messaggi: 5206
				 | 
		
Te lo scrivo io ma dovrei capire meglio che dati (e tipi) devi mettere. Cioè con cosa parti.
		 
				__________________ Andrea, SCJP 5 (91%) - SCWCD 5 (94%) | 
|   |   | 
|  12-12-2007, 17:11 | #6 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		allora, la mia situazione è questa: io devo inviare una stringa così comp'osta(non mi interessa il tipo di dati che la compongono) Carattere numero numero - carattere numero numero \n ovvero qualcosa del tipo A12-V75\n (dovrò fare dei controlli sui caratteri, ma non ci riguarda al momento  ) ecco, il mio problema è questo: se io mando A8-B25\n oppure B3.c27\n voglio che me li corregga in automatico.....speravo che il format delle string mi potesse aiutare, ma mentre lo uso mi assale il dubbio che ciò non sia possibile, spero che tu possa contraddirmi   
				__________________ My gaming placement | 
|   |   | 
|  12-12-2007, 17:19 | #7 | ||
| Senior Member Iscritto dal: Nov 2005 Città: TO 
					Messaggi: 5206
				 | Quote: 
 String s = String.format ("%c%02d-%c%02d\n", ch1, num1, ch2, num2); Quote: 
 Scusa se sono un po' vago ma in genere devo prima capirle le cose .... 
				__________________ Andrea, SCJP 5 (91%) - SCWCD 5 (94%) | ||
|   |   | 
|  12-12-2007, 17:23 | #8 | |
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | Quote: 
 si intendevo correggerli in quel modo.......purtroppo la stringa la prendo per intero, quindi String s = String.format ("%c%02d-%c%02d\n", ch1, num1, ch2, num2); non posso usarlo 
				__________________ My gaming placement | |
|   |   | 
|  12-12-2007, 17:36 | #9 | |
| Senior Member Iscritto dal: Nov 2005 Città: TO 
					Messaggi: 5206
				 | Quote: 
 Se è così, allora puoi usare le espressioni regolari, ma bisognerebbe vedere meglio cosa vuoi che sia accettabile o meno. Mi spiego meglio: se ti arriva 789-B25\n, devi correggerlo? (e come?) E se ti arriva A9;C5\n? 
				__________________ Andrea, SCJP 5 (91%) - SCWCD 5 (94%) | |
|   |   | 
|  12-12-2007, 17:37 | #10 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		rettifica, l'ho provato e funziona......o meglio, fa quello che dico io solo se gli passo i 4 vaolri, quindi, a questo punto, mi conviene creare un parser ad hoc e il gioco è fatto   p.s.: mi spieghi una cosa, please.. tratto dalle api %[argument_index$][flags][width][.precision]conversion mentre tu usi solo %c....allora perchè il primo%c riconosce ch1 e così via gli altri ??? 
				__________________ My gaming placement | 
|   |   | 
|  12-12-2007, 17:39 | #11 | |
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | Quote: 
 visto, la mia dialetttica migliora ogni giorno di più lol ehehe....quasi quasi mi butto sulle espressioni regolari....anche se credo che non sia necessario.......mi rispondi alla domanda di prima please   
				__________________ My gaming placement | |
|   |   | 
|  12-12-2007, 17:53 | #12 | |
| Senior Member Iscritto dal: Nov 2005 Città: TO 
					Messaggi: 5206
				 | Quote: 
 No, in effetti non è strettamente necessario usare le espressioni regolari. Basterebbe estrarre i singoli caratteri e verificare se sono ciò che ti aspetti. 
				__________________ Andrea, SCJP 5 (91%) - SCWCD 5 (94%) | |
|   |   | 
|  12-12-2007, 17:58 | #13 | ||
| Senior Member Iscritto dal: Oct 2007 Città: Padova 
					Messaggi: 4131
				 | 
				
				Sempre dai javadocs...
			 Quote: 
 Quote: 
  EDIT: Ops, sorry, nn ho visto il post di Andbin e il mio si è "accavallato" al suo :P Ultima modifica di banryu79 : 12-12-2007 alle 17:59. Motivo: ops... | ||
|   |   | 
|  12-12-2007, 20:52 | #14 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		grazie ragazzi, gentilissimi come come sempre....se ho problemi vi faccio sapere
		 
				__________________ My gaming placement | 
|   |   | 
|  13-12-2007, 11:44 | #15 | |
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | Quote: 
 c=char d= digit(int o anche il resto dei "numeri"??) poi ne esistono altri??? 
				__________________ My gaming placement | |
|   |   | 
|  13-12-2007, 11:59 | #16 | 
| Senior Member Iscritto dal: Nov 2005 Città: TO 
					Messaggi: 5206
				 | 
		
Sono tutti spiegati molto ben in dettaglio nella documentazione della classe java.util.Formatter.
		 
				__________________ Andrea, SCJP 5 (91%) - SCWCD 5 (94%) | 
|   |   | 
|  13-12-2007, 12:01 | #17 | |
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | Quote: 
           
				__________________ My gaming placement | |
|   |   | 
|  13-12-2007, 12:04 | #18 | 
| Senior Member Iscritto dal: May 2005 Città: Roma 
					Messaggi: 7938
				 | 
		eccoli.....
 Codice: 'b', 'B'  	 general 	 If the argument arg is null, then the result is "false". If arg is a boolean or Boolean, then the result is the string returned by String.valueOf(). Otherwise, the result is "true".
'h', 'H' 	general 	If the argument arg is null, then the result is "null". Otherwise, the result is obtained by invoking Integer.toHexString(arg.hashCode()).
's', 'S' 	general 	If the argument arg is null, then the result is "null". If arg implements Formattable, then arg.formatTo is invoked. Otherwise, the result is obtained by invoking arg.toString().
'c', 'C' 	character 	The result is a Unicode character
'd' 	integral 	The result is formatted as a decimal integer
'o' 	integral 	The result is formatted as an octal integer
'x', 'X' 	integral 	The result is formatted as a hexadecimal integer
'e', 'E' 	floating point 	The result is formatted as a decimal number in computerized scientific notation
'f' 	floating point 	The result is formatted as a decimal number
'g', 'G' 	floating point 	The result is formatted using computerized scientific notation or decimal format, depending on the precision and the value after rounding.
'a', 'A' 	floating point 	The result is formatted as a hexadecimal floating-point number with a significand and an exponent
't', 'T' 	date/time 	Prefix for date and time conversion characters. See Date/Time Conversions.
'%' 	percent 	The result is a literal '%' ('\u0025')
'n' 	line separator 	The result is the platform-specific line separator
				__________________ My gaming placement | 
|   |   | 
|  13-12-2007, 12:40 | #19 | 
| Senior Member Iscritto dal: Oct 2007 Città: Padova 
					Messaggi: 4131
				 | 
		Cmq ringrazio Andbin perchè anche io, come Franksisca, stavo cercando un sistema per formattare delle coordinate (memorizzate come double risultati di calcoli trigonometrici) per stamparle come testo in un file di istruzioni da inviare a un CN...  Le ho provate di tutte prima di leggere questo thread e scoprire String.format() e la classe Formatter   Thanks   | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 03:08.









 
		 
		 
		 
		









 
  
 



 
                        
                        










