Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480

    Problema parsare numero negativo

    Ciao a tutti
    ho dei numeri negativi e positivi in questo formato:
    10deg.
    -37deg.
    -1deg.
    -43deg.
    ...

    Sono riuscito a prelevare solo i numeri positivi in questo modo:
    codice:
    ....
    String[] arrayInclinazione = inclinazione.split("\\s+");
            if (arrayInclinazione.length >= 1) {
                ArrayList<Integer> numbers = new ArrayList<>();
                Pattern p = Pattern.compile("\\d+");
                Matcher m = p.matcher(inclinazione);
                while (m.find()) {
                    numbers.add(Integer.parseInt(m.group()));
                }
                if (numbers.size() <= 0) {
                    numbers.add(-1);
                }
                this.inclinazione = numbers.get(0);
    ...
    ma ovviamente anche sia che il numero sia positivo o negativo, ovviamente riesco a prelevare solo in numero senza segno.
    Come posso fare a prelevare il segno qualora il numero fosse negativo ?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Finisce sempre per "deg." ?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Spero di non averti frainteso, ma se appunto i numeri sono sempre stringhe nel formato "10deg.","-37deg." etc.
    basta usare il metodo substring() della classe String per togliere la parte "
    deg." e poi trasformare la stringa in numero:

    codice:
            
          int num=Integer.parseInt(s.substring(0,s.length()-4)) ;
          // assumendo che in s hai il numero terminante in "deg."
    


    Questo appunto se sei sicuro del formato, altrimenti volendo si può fare un ciclo sulla stringa o usare il Pattern per togliere i caratteri indesiderati...
    Ultima modifica di Ansharja; 17-05-2015 a 09:55

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Spero di non averti frainteso, ma se appunto i numeri sono sempre stringhe nel formato "10deg.","-37deg." etc.
    basta usare il metodo substring() della classe String per togliere la parte "
    deg." e poi trasformare la stringa in numero
    Concordo: mi sembra la strada più semplice.

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.