Как преобразовать строку в long [дубликат]


этот вопрос уже есть ответ здесь:

Как преобразовать строку в длинную.

для int you

int i = 3423;
String str;
str = str.valueOf(i);

так как вы идете в другую сторону, но с длинными.

long lg;
String Str = "1333073704000"
lg = lg.valueOf(Str);
8 53

8 ответов:

это распространенный способ сделать это:

long l = Long.parseLong(str);

существует также Этот метод:Long.valueOf(str); разница в том, что parseLong возвращает примитивный long пока valueOf возвращает a

метод преобразования строки в длинную является долго.parseLong. Изменение вашего примера:

String s = "1333073704000";
long l = Long.parseLong(s);
// Now l = 1333073704000
String s = "1";

try {
   long l = Long.parseLong(s);       
} catch (NumberFormatException e) {
   System.out.println("NumberFormatException: " + e.getMessage());
}

если ваш вход строка, то я рекомендую вам сохранить строку в двойной, а затем преобразовать двойной в длинный.

String str = "123.45";
Double  a = Double.parseDouble(str);

long b = Math.round(a);

вы также можете попробовать следующее,

long lg;
String Str = "1333073704000"
lg = Long.parseLong(Str);
import org.apache.commons.lang.math.NumberUtils;

Это будет ручка null

NumberUtils.createLong(String)

этого:

long l = Long.parseLong(str);

тем не менее, всегда проверяйте, что str содержит цифры, чтобы предотвратить выбрасывание исключений. Например:

String str="ABCDE";
long l = Long.parseLong(str);

бросил бы исключение, но это

String str="1234567";
long l = Long.parseLong(str);

не будет.

использовать parseLong(), например:

long lg = lg.parseLong("123456789123456789");