cómo convertir una cadena en una larga.Cómo convertir cadena a larga
para int que
int i = 3423;
String str;
str = str.valueOf(i);
así, ¿cómo ir hacia otro lado pero con larga.
long lg;
String Str = "1333073704000"
lg = lg.valueOf(Str);
cómo convertir una cadena en una larga.Cómo convertir cadena a larga
para int que
int i = 3423;
String str;
str = str.valueOf(i);
así, ¿cómo ir hacia otro lado pero con larga.
long lg;
String Str = "1333073704000"
lg = lg.valueOf(Str);
Esta es una forma común de hacerlo:
long l = Long.parseLong(str);
También existe este método: Long.valueOf(str);
diferencia es que parseLong
devuelve una primitiva long
mientras valueOf
devuelve un objeto new Long()
.
Gracias. me quedé atrapado en lg.getLong según [enlace] (http://developer.android.com/reference/java/lang/Long.html#getLong (java.lang.String)) – John
'getLong' devuelve un largo desde una propiedad del sistema. Es por eso que no funciona como esperabas. – Cristian
Es fácil cometer el error de asumir que la cadena de entrada está en la forma esperada; "90.77" lanzará ParseException con esto. Así que no ignore ParseException, pero síguelo para su caso de uso –
El método para convertir una cadena en una larga es Long.parseLong. La modificación de su ejemplo:
String s = "1333073704000";
long l = Long.parseLong(s);
// Now l = 1333073704000
También puede probar siguiente,
long lg;
String Str = "1333073704000"
lg = Long.parseLong(Str);
Gracias por su tiempo. – John
String s = "1";
try {
long l = Long.parseLong(s);
} catch (NumberFormatException e) {
System.out.println("NumberFormatException: " + e.getMessage());
}
Haga esto:
long l = Long.parseLong(str);
Sin embargo, compruebe siempre que str contiene dígitos para evitar excepciones de lanzamiento. Por ejemplo:
String str="ABCDE";
long l = Long.parseLong(str);
podría lanzar una excepción pero esto
String str="1234567";
long l = Long.parseLong(str);
no lo hará.
import org.apache.commons.lang.math.NumberUtils;
Esto manejar null
NumberUtils.createLong(String)
Si la entrada es String entonces te recomiendo para almacenar la cadena en un doble y luego convertir el doble de largo.
String str = "123.45";
Double a = Double.parseDouble(str);
long b = Math.round(a);
¿Podría agregar también por qué cree que es mejor que simplemente llamar a 'parseLong()'? –
Uso parseLong()
, por ejemplo .:
long lg = lg.parseLong("123456789123456789");
@Mogsdad Gracias hermano, por sugerir. Se mostró demasiado extraño en la revisión Ahora lo has hecho realmente como una respuesta. –
Este es un duplicado de la pregunta: ¿http://stackoverflow.com/a/2709269/108574 –