Moeda (trabalho!)

3 respostas
Dani_RS

Oi!

Alguém sabe me dizer se esse código vai me retornar os centavos de "Double valor" corretamente?

int centenaInt = (int)(valor/100)*100;
        int dezenaInt_2 = (int)(valor - centenaInt);
        int dezenaInt = ((int)(dezenaInt_2/10)*10);
        int unidadeInt = (int)(valor - dezenaInt - centenaInt);
        int dezenaFrac = (int)(valor - dezenaInt - centenaInt- unidadeInt)*100;
        int unidadeFrac = (int) (valor - dezenaInt - centenaInt - unidadeInt - dezenaFrac)*100;

A parte decimal está funcionando bem, mas a parte fracionária... :?

P.s.: É o meu primeiro tópico... Tomara que eu tenha acertado aquele negócio de tags bb.... :)

3 Respostas

fabiozoroastro

Olá Dani. Bem vinda ao GUJ. Você acertou nas tags BBCode sim. Parabéns(rsrsrs).
quando vc faz:

int x = qualquerCalculoRetornandoDouble();

O valor de x, SEMPRE será um inteiro. pra você poder pegar os valores fracionários de uma operação, utilize float. :slight_smile:
Abraço.

Dani_RS

Pois é… o problema é que no trabalho, a classe só pode receber um atributo double chamado valor… :roll:

fabiozoroastro

double também aceita valores fracionários. Ao invés de usar int, use double então. :wink:

Criado 12 de outubro de 2007
Ultima resposta 12 de out. de 2007
Respostas 3
Participantes 2