2016-12-04 1 views
-7

Wie ich zwei Strings vergleichen, zum Beispiel:Strings Vergleich

String s0 = "30%";  
String min= "10%"; 
String max = "70%"; 
if(s0 >= min || s0 <= max){ 
    .... 
} 

Ist es möglich, in dieser Form oder ich brauche letztes Zeichen („%“) zu entfernen und dann in Integer konvertieren, vergleichen sie, re -in String konvertieren und dann "%" hinzufügen?
Jede Methode, String zu formatieren?

+1

dies ist kein Codierung Service? Post, wo Sie schief gelaufen sind –

+1

* "re-convert to String und fügen Sie dann"% "" * Oder verwenden Sie 's0',' min' und 'max' ... – Tom

+0

Möchten Sie sie in lexikographischer Reihenfolge vergleichen, oder sind Sie suchen nach dem höheren Prozentsatz? – manfcas

Antwort

0

Sie müssen das Zeichen "%" aus der Zeichenfolge entfernen und dann den Typ in eine Zahl umwandeln (Integer in Ihrem Fall). Fügen Sie etwas wie folgt hinzu:

int iS0 = Integer.parseInt(s0.replace("%", "")); // now here you have number 

Tun Sie dies mit allen Vars, die Sie haben, und dann können Sie neue Vars vergleichen.

+0

Ich kenne diesen Weg, aber ich brauche etwas schneller als das ... –

+0

Schneller in der Codierung oder Leistung? – mitch

+0

Ich brauche Leistung ... –

0
int lengthS=Integer.parseInt(s0.substring(0,s0.length()-1); 
    int Min=Integer.parseInt(min.substring(0,min.length()-1); 
    int Max=Integer.parseInt(max.substring(0,max.length()-1); 

Jetzt können Sie

vergleichen
0

Das wird Arbeit;)

String s0 = "30%";  
String min= "10%"; 
String max = "70%"; 
String res=""; 
int _s0 = Integer.parseInt(s0.substring(0,s0.length()-1)); 
int _min= Integer.parseInt(min.substring(0,min.length()-1)); 
int _max= Integer.parseInt(max.substring(0,max.length()-1)); 

if(_s0 >= _min || _s0 <= _max){ 
    System.out.println("ok"); 
} 
Verwandte Themen