Lembrem-se de que não é só responder, tem que dizer porque está certo
ou errado, explicando.
Puzzle 2: Time for a Change
Tom vai a loja de autopeças comprar uma vela que custa R$1,10, mas
tudo o que ele tem na carteira são notas de 2 reais. Quanto de troco
ele vai receber se pagar a conta com uma nota de 2 dólares?
Abaixo segue um programa que tenta resolver o problema. O que ele imprime?
public class Change {
public static void main(String args[]) {
System.out.println(2.00 - 1.10);
}
}
Bons códigos!
--
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) |
http://codeshooter.wordpress.com/ (en)
João Pessoa, PB, +55 83 8867-7208
kkkkkkkkkkkkkkkkkkkkkkkkkkkk
Maurício Linhares escreveu:
Tenha medo nao.
No dia 22/02/2008, às 10:52, "Bonifacio Segundo" <bonifaci...@gmail.co
m> escreveu:
2008/2/22 Fabrício E. Moreira <mor...@gmail.com>:
> Tá bom... Vou responder!!!
>
> 0,90 ...
>
> num seria isso moço?
>
> Sds,
> Fabrício Entringer Moreira
--
Lembrando que mesmo esse caso passando, floats tem o mesmo problema de
arredondamento que os doubles tem, então não é seguro trabalhar com
matemática exata usando floats ou doubles.
--
Bom, considerando que o resultado é 0.899999999999999 mas que o camarada não teria esse nível de troco, ele daria 0,90 mesmo :-)
Mas é isso, agora estou pesquisando por que o valor deu 0.8999999999999 hehehehe
Muito boa essa...
Sds,
FabrícioEm 22/02/08, Maurício Linhares <mauricio...@gmail.com> escreveu:Alguma explicação pra essa sua resposta? :)
2008/2/22 Fabrício E. Moreira <mor...@gmail.com>:
> Tá bom... Vou responder!!!
>
> 0,90 ...
>
> num seria isso moço?
>
> Sds,
> Fabrício Entringer Moreira
--
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) |
http://codeshooter.wordpress.com/ (en)
João Pessoa, PB, +55 83 8867-7208
Sempre usem BigDecimal quando estiverem lidando com matemática exata
(ou dinheiro alheio =P).
De noite vem mais um Puzzle \o/
2008/2/22 Marcelo Emanoel B. Diniz <marcelo...@gmail.com>:
> Na verdade o correto quando se lida com dinheiro em java seria usar o bom e
> velho BigDecimal :)
>
>
> System.out.println((new BigDecimal("2")).subtract(new BigDecimal("1.1")));
>
--
Mas eu já vi alguns aqui que poderiam ser quinzenais ou mensais, hahahahaha.
--
Na verdade o correto quando se lida com dinheiro em java seria usar o bom e velho BigDecimal :)