Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-05-2006, 10:46   #1
gaglioppo
Senior Member
 
L'Avatar di gaglioppo
 
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
[java] identificare coasa c'è in una stringa

ciao amici,

ho una stringa in java che potrebbe contenere: un nome, un intero, un numero con virgola oppure una percetuale del tipo "10%".
Come potrei identificare con esattezza in quale caso mi trovo?

ho provato a fare Double.parseDouble(stringa); e cercare di catturare l'errore ma nn ci sono ancora riuscito.... suggerimenti?

grazie
__________________
Nunc est bibendum
gaglioppo è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 12:34   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da gaglioppo
ciao amici,

ho una stringa in java che potrebbe contenere: un nome, un intero, un numero con virgola oppure una percetuale del tipo "10%".
Come potrei identificare con esattezza in quale caso mi trovo?
Quindi riepiloghiamo. Puoi avere:
- "blabla"
- "12345"
- "67,89"
- "12%"
Giusto?

Come suggerimento potrei consigliarti di creare un metodo apposito che data una stringa in input, restituisce una costante intera che indica il tipo di stringa.

Una cosa: il caso della stringa con virgola "67,89", lo devi poi convertire in un numero (come float/double)?
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 13:13   #3
Angus
Senior Member
 
L'Avatar di Angus
 
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
Quote:
Originariamente inviato da gaglioppo
ciao amici,

ho una stringa in java che potrebbe contenere: un nome, un intero, un numero con virgola oppure una percetuale del tipo "10%".
Come potrei identificare con esattezza in quale caso mi trovo?

ho provato a fare Double.parseDouble(stringa); e cercare di catturare l'errore ma nn ci sono ancora riuscito.... suggerimenti?

grazie
Per gli interi e i numeri con virgola sei sulla strada giusta, sempre che tu intenda attenerti allo standard Java sul formato dei numeri. Cos'è che non riesci a fare utilizzando Double.parseDouble(s)?
Per le percentuali ed altre cose puoi utilizzare le espressioni regolari (java.util.regex).
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer
°SetiEmperor°| Ninja Technologies
{ qualunque cosa sia, è veloce e fa male (cit.) }
Angus è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 13:17   #4
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Angus
Per le percentuali ed altre cose puoi utilizzare le espressioni regolari (java.util.regex).
Io utilizzerei le regex per tutto:
nome -> /[a-zA-Z]+/
intero -> /\d+/
float -> /\d+\.\d+/
percentuale -> /\d+%/

considerando che in java hanno una sintassi un pelino diversa (ci vogliono due \\ prima degli identificatori \d,\w, ecc...
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 13:18   #5
pinok
Senior Member
 
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
Quote:
Originariamente inviato da gaglioppo
ciao amici,

ho una stringa in java che potrebbe contenere: un nome, un intero, un numero con virgola oppure una percetuale del tipo "10%".
Come potrei identificare con esattezza in quale caso mi trovo?

ho provato a fare Double.parseDouble(stringa); e cercare di catturare l'errore ma nn ci sono ancora riuscito.... suggerimenti?

grazie
Devi lavorarci con un po' di if e try catch; siccome credo che un po' di try catch annidati potrebbero rallentare un filino, io farei:
Codice:
boolean trovato = false;  // Generico
boolean isInt = false;
boolean isFloat = false;
boolean isPercent = false;
boolean isString = false;
try {  // Provo l'intero
 Integer.parseInt(dato);
 isInt = true;
 trovato = true;
} catch(Exception e) {}

if (!trovato) try // Prova double
{
  Float.parseFloat(dato);
  isFloat = true;
  trovato = true;
} catch (Exception e) {}

if (!trovato) try // O è string o è %
{
   // Testi che finisca con %, se finisce con % provi il parseFloat, se fallisce è  testo puro
  // Sono di fretta, non riesco a finire ;)
} catch (Exception e) {}
pinok è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 19:43   #6
gaglioppo
Senior Member
 
L'Avatar di gaglioppo
 
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
beh,per ora mi sto accontentando di qualcosa di simile a quello che mi segnala Pinok,
in realtà, però le istruzioni le metto direttamente nel catch, va bene o potrei avere problemi?

per ora mi riconosce tutto, anche
" 45,66% i.d." che è una stringa che ho trovato, è una percentuale ma c'è anche dell'altro.


grazie cmq per tutti gli interventi, vi ringrazio sempre poco per quel che fate.
__________________
Nunc est bibendum
gaglioppo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Il prossimo mid-range di Xiaomi avr&agra...
Apple Watch SE 3 scende a 229€: prezzo i...
Xbox Game Pass doveva essere totalmente ...
Cloudflare passa dall'altra parte: aiuta...
Samsung The Freestyle scende a 349€ (-20...
Il Parlamento Europeo approva il regolam...
Francia, l'indagine antitrust su NVIDIA ...
Beatbot e il Carnevale Estivo delle Pisc...
Roborock Qrevo Curv 2 Flow a 549,99€: il...
Huawei porta in Italia il nuovo MatePad ...
Poche porte USB (e non solo) sul portati...
Sony WH-1000XM5SA a 179€: il prezzo crol...
Il primo smartphone con IA agentica inte...
Gaia potrebbe riportare Samsung nel merc...
Mercato PC negativo per tutti, ma non pe...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:48.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v