jak przekonwertować ciąg na długi.Jak przekonwertować ciąg na długi
dla int ty
int i = 3423;
String str;
str = str.valueOf(i);
tak jak go w inny sposób, ale z długo.
long lg;
String Str = "1333073704000"
lg = lg.valueOf(Str);
jak przekonwertować ciąg na długi.Jak przekonwertować ciąg na długi
dla int ty
int i = 3423;
String str;
str = str.valueOf(i);
tak jak go w inny sposób, ale z długo.
long lg;
String Str = "1333073704000"
lg = lg.valueOf(Str);
Jest to typowy sposób, aby to zrobić:
long l = Long.parseLong(str);
Istnieje również ta metoda: Long.valueOf(str);
Różnica jest taka, że parseLong
zwraca prymitywne long
podczas valueOf
zwraca new Long()
obiekt.
Dziękuję. utknąłem na lg.getLong zgodnie z [link] (http://developer.android.com/reference/java/lang/Long.html#getLong (java.lang.String)) – John
'getLong' zwraca długi z właściwości systemu. Dlatego nie działa tak, jak się spodziewałeś. – Cristian
Łatwo jest popełnić błąd zakładając, że ciąg wejściowy jest w oczekiwanej formie; "90.77" spowoduje wygenerowanie wyjątku ParseException. Więc nie ignoruj wyjątku ParseException, ale obsłuż go dla swojego przypadku użycia. –
Metoda konwersji łańcucha na długą jest Long.parseLong. Modyfikacja przykład:
String s = "1333073704000";
long l = Long.parseLong(s);
// Now l = 1333073704000
można także spróbować następujących,
long lg;
String Str = "1333073704000"
lg = Long.parseLong(Str);
Dziękujemy za poświęcony czas. – John
String s = "1";
try {
long l = Long.parseLong(s);
} catch (NumberFormatException e) {
System.out.println("NumberFormatException: " + e.getMessage());
}
Wykonaj:
long l = Long.parseLong(str);
Jednak zawsze sprawdzić, str zawiera cyfry, aby uniknąć rzucania wyjątków. Na przykład:
String str="ABCDE";
long l = Long.parseLong(str);
będzie wyjątek, ale to
String str="1234567";
long l = Long.parseLong(str);
nie będzie.
import org.apache.commons.lang.math.NumberUtils;
To zajmie null
NumberUtils.createLong(String)
jeśli twoje wejście jest String to polecam Ci do przechowywania String na podwójne i następnie przekonwertować do podwójnej długości.
String str = "123.45";
Double a = Double.parseDouble(str);
long b = Math.round(a);
Czy możesz również dodać, dlaczego uważasz, że jest to lepsze niż po prostu wywołanie 'parseLong()'? –
Zastosowanie parseLong()
, np .:
long lg = lg.parseLong("123456789123456789");
@Mogsdad Dzięki bro, za sugestię. Zostało to pokazane zbyt dziwnie w tekście. Teraz sprawiłeś, że naprawdę brzmi jak odpowiedź. –
To jest duplikatem pytania: http://stackoverflow.com/a/2709269/108574 –