Autore Topic: Convertire una variabile Stringa in Int  (Letto 3590 volte)

Offline benve83

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic TIM
  • Sistema operativo:
    Win 7
Convertire una variabile Stringa in Int
« il: 03 Marzo 2011, 01:36:25 CET »
+1
Dorei convertire una stringa catturata da un parsing xml in intero.
Nello specifico si tratta di una latitudine che devo poi passare a GeoPoint point = new GeoPoint(lat, lng);
Il problema è appunto che non posso passargli Stringhe ma solo numeri.
Come posso fare?
Alessandro

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Convertire una variabile Stringa in Int
« Risposta #1 il: 03 Marzo 2011, 03:09:12 CET »
+1
chiedi a google: "java convert string to int" e vedrai che saprà risponderti.....

Offline benve83

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic TIM
  • Sistema operativo:
    Win 7
Re:Convertire una variabile Stringa in Int
« Risposta #2 il: 03 Marzo 2011, 11:28:02 CET »
+1
Grazie, ho chiesto a google però non so se sto facendo la cosa giusta.
Come avevo accennato devo convertire delle coordinate lat e lon da stringa verso int, questo per poterle processare con il comando GeoCoder che poi dovrebbe restituirmi la posizione sulla mappa.
Considerando che il parsing di una coordinata nel formato 43.256986 non può essere convertito in int, per prendere due piccioni con una fava ho rimosso il punto e convertito la stringa. In questo modo ho ottenuto un int (credo) 43256986, che tra l'altro non ha bisogno di essere moltiplicato per 1E6 per essere riconosciuto da Geopont.
Codice (Java): [Seleziona]
int lat = (int) (lat * 1E6);
int lng = (int) (lng * 1E6);
GeoPoint point = new GeoPoint(lat, lng);

Peccato però che il punto è in mezzo al mare, quando invece dovrebbe stare dalle parti di Firenze.

Ora, la domanda è: come posso assicurarmi che il valore lat e lng siano davvero 43256986 o 11256983?

Offline Kappa27

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +2
    • kevvort
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Tab
  • Sistema operativo:
    Windows 7 x64 - Ubuntu 10.10
Re:Convertire una variabile Stringa in Int
« Risposta #3 il: 03 Marzo 2011, 11:42:01 CET »
0
Stampa il valore delle due variabili nel logCat  ;-)

Offline -Bruno90-

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
Re:Convertire una variabile Stringa in Int
« Risposta #4 il: 03 Marzo 2011, 11:43:35 CET »
0
Se la mappa punta nel cgolfo della guinea vuol dire che valgono 0.0 e 0.0 !!!!!  :D :D :D

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Convertire una variabile Stringa in Int
« Risposta #5 il: 03 Marzo 2011, 11:54:26 CET »
0
Grazie, ho chiesto a google però non so se sto facendo la cosa giusta.
Come avevo accennato devo convertire delle coordinate lat e lon da stringa verso int, questo per poterle processare con il comando GeoCoder che poi dovrebbe restituirmi la posizione sulla mappa.
Considerando che il parsing di una coordinata nel formato 43.256986 non può essere convertito in int, per prendere due piccioni con una fava ho rimosso il punto e convertito la stringa. In questo modo ho ottenuto un int (credo) 43256986, che tra l'altro non ha bisogno di essere moltiplicato per 1E6 per essere riconosciuto da Geopont.
Codice (Java): [Seleziona]
int lat = (int) (lat * 1E6);
int lng = (int) (lng * 1E6);
GeoPoint point = new GeoPoint(lat, lng);

Peccato però che il punto è in mezzo al mare, quando invece dovrebbe stare dalle parti di Firenze.

Ora, la domanda è: come posso assicurarmi che il valore lat e lng siano davvero 43256986 o 11256983?

Se hai gia il geopoint come intero perche' lo moltiplichi per 1E6?
A occhio e croce hai pure un overflow :P

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Convertire una variabile Stringa in Int
« Risposta #6 il: 03 Marzo 2011, 13:07:13 CET »
0
Se hai gia il geopoint come intero perche' lo moltiplichi per 1E6?
A occhio e croce hai pure un overflow :P
Al limite dovrebbe essere 1E-6
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Convertire una variabile Stringa in Int
« Risposta #7 il: 03 Marzo 2011, 13:59:45 CET »
0
il problema è che te prendi la stinga e togli il punto. e poi hai un int.. che senso ha? se hai le coordinate in double te le prendi in double!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Convertire una variabile Stringa in Int
« Risposta #8 il: 03 Marzo 2011, 14:02:12 CET »
0
Giá.. Perché non usi direttamente Double.parseString(valoreDoubleInString) ?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Convertire una variabile Stringa in Int
« Risposta #9 il: 03 Marzo 2011, 14:37:44 CET »
0
Giá.. Perché non usi direttamente Double.parseString(valoreDoubleInString) ?

Perche' probabilmente non sa neanche che esiste :P

Offline benve83

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic TIM
  • Sistema operativo:
    Win 7
Re:Convertire una variabile Stringa in Int
« Risposta #10 il: 03 Marzo 2011, 14:48:49 CET »
+1
E invece guarda un pò, so che esiste, ed il suggerimento è pure sbagliato!
Non è Double.parseString(valoreDoubleInString) ma
 
Codice (Java): [Seleziona]
double lat = Double.parseDouble(valoreDoubleInString);Grazie comunque a blackgin che mi ha portato alla soluzione del problema.
Ovviamente il valore resituito dal parseDouble è in microgradi, quindi va convertito mediante la formula
 
Codice (Java): [Seleziona]
int latitude = (int) (lat * 1E6);
Così funziona.

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Convertire una variabile Stringa in Int
« Risposta #11 il: 03 Marzo 2011, 14:50:44 CET »
0
sapere che esiste e aprire un topic del genere sono due cose che vanno in conflitto strutturale

Offline benve83

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic TIM
  • Sistema operativo:
    Win 7
Re:Convertire una variabile Stringa in Int
« Risposta #12 il: 03 Marzo 2011, 14:56:11 CET »
+1
O ragazzi, non sono mica bravo come voi! sennò a cosa serve il forum?
Per chi come me programma in PHP non ha problemi di parsing, dichiarazione di tipi di viariabile, ecc.
A volte le soluzioni più semplici si risolvono con un suggerimento, proprio come è accaduto in questo topic.
Magari, potrà essere utile a qualcun'altro..

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Convertire una variabile Stringa in Int
« Risposta #13 il: 03 Marzo 2011, 14:56:21 CET »
0
E invece guarda un pò, so che esiste, ed il suggerimento è pure sbagliato!
Non è Double.parseString(valoreDoubleInString) ma
 
Codice (Java): [Seleziona]
double lat = Double.parseDouble(valoreDoubleInString);Grazie comunque a blackgin che mi ha portato alla soluzione del problema.
Ovviamente il valore resituito dal parseDouble è in microgradi, quindi va convertito mediante la formula
 
Codice (Java): [Seleziona]
int latitude = (int) (lat * 1E6);
Così funziona.

lol, solo blackgin eh.... :D
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Convertire una variabile Stringa in Int
« Risposta #14 il: 03 Marzo 2011, 14:58:08 CET »
0
E invece guarda un pò, so che esiste, ed il suggerimento è pure sbagliato!
Non è Double.parseString(valoreDoubleInString) ma
Scusa ma scrivevo a memoria..

Comunque come mai non l'hai usato sin da subito al posto di provare col parseInt?
Postate il LogCat LogCat LogCat LogCat LogCat