double a = 1000.9d;
double d = a % ((int) a);
ou
double a = 999.99d;
double d = a - ((int) a);
elvishr
tambem tive esta duvida esses dias
Bani
Essas abordagens não funcionam porque double não trabalha com precisão. O objetivo dele é aqueles cálculos científicos em que a velocidade é mais importante do que o número exato.
Se você tiver sempre o mesmo número de casas decimais, o mais prático é simplesmente multiplicar por 10 elevado ao número de casas e aí trabalhar com números inteiros.
A classe usada para fazer cálculos com double é a BigDecimal, mas não tem nenhum método pronto para isso que você está querendo.
Outra idéia é passar o double para String e aí manipulá-lo como String mesmo.
Alguém tem mais alguma sugestão?
elvishr
Primeiro vc converte a variavel de double para String. > toString()
Depois use o método > indexOf(".") para achar em qual posicao está o ponto.
Depois com o metodo > substring(indice inicial, indice final) voce pega o que estiver antes do ponto e depois do ponto.
Daí é só converter novamente.
Espero ter ajudado
dgouvea
Com esse código você conseguira pegar a parte fracionada de uma forma mais simples:
David,
Às vezes um teste só não é suficiente.
Tente com o número 5.97 para ver o que aparece.
dgouvea
foi mal pessoal,
valeu pela obs, é errando que se aprende!!! :lol:
R
Rosauro_Barcia_Fonse
Fiz várias experiências,compilou e funcionou
importjava.text.DecimalFormat;strictfpclassMyClass{//strictfp segundo o que li evita truncamentospublicstaticvoidmain(Stringargs[]){DecimalFormatdezDigitos=newDecimalFormat("0.[telefone removido]");doubled=5,890765;inti=5;doubleresult=d-t;System.out.println(dezDiditos.format(result);}}
FizumtestedessejeitoedeucertoSystem.out.println(“Informeonúmeor”);num=Double.parseDouble(entrada.readLine());System.out.println("Parte inteira do Número : "+(int)(num));System.out.println("Parte inteira do Número : "+(num-(int)(num)));
U
ubirany
Ah fiz de umaoutra forma que ficou melshor
usei charAt() para descobrir até onde vai a parte inteira
usei Substring (i. f) para atribuir o valores
funcionou muito bem!
E
entanglement
Devido à quantidade assombrosa de POGs que li, vou pôr aqui o método correto de achar a parte fracionária.