Olá
Pessoal
Tenho duas variaveis uma do tipo long e outra do tipo Integer gostaria de fazer um parser de long para integer como faço?
long v_valor_log = 122222;
int v_valor_integer = 0;
Grato
Olá
Pessoal
Tenho duas variaveis uma do tipo long e outra do tipo Integer gostaria de fazer um parser de long para integer como faço?
long v_valor_log = 122222;
int v_valor_integer = 0;
Grato
uma maneira:
try{
Long n = 2342342334872364782l;
Integer n1= Integer.valueOf(n.toString());
System.out.println(n1);
}catch (Exception e) {
System.out.println("Capacidade do Integer estourou.");
}
Olá marcosharbs
Estou tendo esse erro ao tentar fazer da forma como vc disse:
Cannot invoke toString() on the primitive type long
Segue meu codigo:
long v_valor_log = 222222888;
Integer v_valor_integer = 0;
try{
v_valor_integer = Integer.valueOf(v_valor_log.toString());
}catch (Exception e) {
System.out.println("Capacidade do Integer estourou.");
}
Utilize Long com L maiúsculo
o long com l minúsculo é do tipo primitivo o método toString() é da classe Object do java a qual todos os objetos decendem direta ou indiretamente
portando usando o long (tipo primitivo) vc realmente não terá esse método, mas se vc usar um Long vc terá.
valeu marcosharbs funfou!!!
Olá marcosharbsEstou tendo esse erro ao tentar fazer da forma como vc disse:
Cannot invoke toString() on the primitive type longSegue meu codigo:
long v_valor_log = 222222888; Integer v_valor_integer = 0; try{ v_valor_integer = Integer.valueOf(v_valor_log.toString()); }catch (Exception e) { System.out.println("Capacidade do Integer estourou."); }</blockquote>Olá Amigo
Tem que declarar como Objeto Integer ou Long
int e long minusculos são tipos primitivos em java
Por isso o toString() não funciona.
Esse artigo http://www.criarweb.com/artigos/630.php Explica bem direitinho
de nada
=D
Integer i = Integer.valueOf(123456);
Long l = Long.valueOf[telefone removido]);
/*
* 'Converte' de Long para Integer.
* Vale lembrar da perda da precisão
* ao realizar a conversão... Afinal
* O brasil não cabe dentro de São Paulo
**/
Integer i2 = Integer.valueOf((int) l.longValue());
//Sem problemas
Long l2 = Long.valueOf(i.longValue());
Espero ter ajudado!
Eu estou lendo certo? Você estão mandando ele criar objetos, só para converter o valor de uma variável long em int? Estou me baseando no exemplo, pois embora ele tenha falado em Integer, a variável dele no exemplo está declarada como int.
Para isso, basta um simples typecast:
long var1 = 1827182761L;
long var2 = (int) var1;
Só tome cuidado que, como o long é maior que o int, pode haver perda de informação. Afinal, o número do long pode ser maior do que o int é capaz de suportar. Nesse caso, o java não dará qualquer tipo de erro. O que ele fará é simplesmente eliminar os bits da parte mais significativa do dado.
Eu estou lendo certo? Você estão mandando ele criar objetos, só para converter o valor de uma variável long em int? Estou me baseando no exemplo, pois embora ele tenha falado em Integer, a variável dele no exemplo está declarada como int.Para isso, basta um simples typecast:
long var1 = 1827182761L; long var2 = (int) var1;Só tome cuidado que, como o long é maior que o int, pode haver perda de informação. Afinal, o número do long pode ser maior do que o int é capaz de suportar. Nesse caso, o java não dará qualquer tipo de erro. O que ele fará é simplesmente eliminar os bits da parte mais significativa do dado.
Sim Vini, vc esta certo, surgiu uma certa confusão sobre o que ele realmente quer!
Deixando um pouco mais claro… no seu mesmo exemplo…
long var1 = 1827182761L;
int var2 = (int) var1;
Ajudou aqui, obrigado !
Eu faço assim para números abaixo de 2 bilhões,
ou adaptando pode ficar especifico pro valor máximo do Integer.
Integer NUMconvertido;
if (longOriginal > (long) [telefone removido]){
NUMconvertido = (int)[telefone removido];
}else{
String converteNUM = String.valueOf(longOriginal);
NUMconvertido = Integer.valueOf(converteNUM);
}