| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/10/2011 13:39:16
|
flaviochess
Thread.start()
![[Avatar]](/images/avatar/acc2b13d8523c61b8cb57c6b06b75ad3.png)
Membro desde: 03/01/2011 20:46:43
Mensagens: 33
Localização: São Paulo
Offline
|
Pessoal, boa tarde!
Estou com dificuldades com arredondamento de um Double... eu sei, eu sei, que tem diversos tópicos sobre isso, mas estou procurando um arredondamento específico:
Gostaria de saber se existe alguma função que faz o arredondamento onde o resultado seja o número "inteiro" X ou X.5.
É para um sistema de notas, e as notas só podem ser, por exemplo, 8 ou 8.5 e não 8.3.
Não sei se fui claro o suficiente
Se alguém puder me ajudar... obrigado!
This message was edited 1 time. Last update was at 14/10/2011 12:11:55
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/10/2011 13:44:51
|
flaviochess
Thread.start()
![[Avatar]](/images/avatar/acc2b13d8523c61b8cb57c6b06b75ad3.png)
Membro desde: 03/01/2011 20:46:43
Mensagens: 33
Localização: São Paulo
Offline
|
Ah, e só para complementar minha dúvida... o usuário entra com a nota da forma que quiser, o sistema que deve arredondar esta entrada antes de armazenar ou recuperar no banco.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/10/2011 14:18:44
|
Marcelo de Andrade
Thread.start()
Membro desde: 19/08/2011 20:46:05
Mensagens: 47
Localização: Maceió - AL
Offline
|
Uma pesquisada rápida pela WEB e você teria encontrado.
This message was edited 4 times. Last update was at 12/10/2011 14:26:25
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/10/2011 14:29:52
|
flaviochess
Thread.start()
![[Avatar]](/images/avatar/acc2b13d8523c61b8cb57c6b06b75ad3.png)
Membro desde: 03/01/2011 20:46:43
Mensagens: 33
Localização: São Paulo
Offline
|
Obrigado, vou verificar....
Mas o que não faltou foi pesquisa... é que é fácil encontrar quando se sabe o que procurar
Novamente obrigado!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/10/2011 15:24:11
|
viniciusalvess
Java Ninja
![[Avatar]](/images/avatar/2ce5c4c3e3cfda2fb5c21d44b204aea8.jpg)
Membro desde: 02/09/2008 12:17:08
Mensagens: 259
Offline
|
você pode usar também BigDecimal http://download.oracle.com/javase/1,5.0/docs/api/java/math/BigDecimal.html, que ja vem com as formar de arredondamento para setar de acordo com sua necessidade ;
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/10/2011 17:17:33
|
Vingdel
JavaEvangelist
![[Avatar]](/images/avatar/8e3a470dfb7d426c470e8e9bdf44df13.jpg)
Membro desde: 19/11/2006 22:09:57
Mensagens: 358
Localização: Cabo Frio - RJ
Offline
|
flaviochess wrote:Pessoal, boa tarde!
Estou com dificuldades com arredondamento de um Double... eu sei, eu sei, que tem diversos tópicos sobre isso, mas estou procurando um arredondamento específico:
Gostaria de saber se existe alguma função que faz o arredondamento onde o resultado seja o número "inteiro" X ou X.5.
É para um sistema de notas, e as notas só podem ser, por exemplo, 8 ou 8.5 e não 8.3.
Não sei se fui claro o suficiente
Se alguém puder me ajudar... obrigado!
Aí vem minhas dúvidas:
Mas se as notas só podem ser 8.0, 8.5, 9.0, por que a pessoa tirou 8.3 ou 7.4?
E já que a pessoa tirou 7.2, por que o sistema vai armazenar como 7.0 ou 7.5? Não seria, injusto com outras pessoas que tiraram 7.1 ou 7.4, dependendo do critério de arredondamento?
Bom, após isso, acho que você mesmo pode criar um método para fazer isso, não tem complicação.
Abraço!
|
Caso tua dúvida esteja sanada edite tua primeira postagem no tópico e adicione [RESOLVIDO] ao assunto.
Poste teu código entre as tags [code] ... [/code].



 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 12:10:05
|
flaviochess
Thread.start()
![[Avatar]](/images/avatar/acc2b13d8523c61b8cb57c6b06b75ad3.png)
Membro desde: 03/01/2011 20:46:43
Mensagens: 33
Localização: São Paulo
Offline
|
Vinicius e Vingdel, obrigado pelas dicas...
Eu não encontrei nenhuma função que faça exatamente o que eu queria (nem mesmo com a lista de "pesquisa rápida que eu teria encontrado" que o Marcelo passou).
Acredito que a solução para isso seja criar a minha própria função, assim como Vingdel disse!
Vou separa a casa decimal e realizar as verificações.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 12:20:21
|
Danillo_Moreno
JavaTeenager
![[Avatar]](/images/avatar/09b15aeee2bc9c47f03de9e6180d28a5.jpg)
Membro desde: 15/02/2008 09:21:37
Mensagens: 186
Offline
|
http://www.guj.com.br/java/251334-resolvido-como-arredondar-media-final-com-regras-especificas
|
Danillo
In Lemmy We Trust!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 14:39:44
|
Vingdel
JavaEvangelist
![[Avatar]](/images/avatar/8e3a470dfb7d426c470e8e9bdf44df13.jpg)
Membro desde: 19/11/2006 22:09:57
Mensagens: 358
Localização: Cabo Frio - RJ
Offline
|
Olá, veja se assim te satisfaz...
Ou você quer arredondar sempre para cima?
Abraço!
|
Caso tua dúvida esteja sanada edite tua primeira postagem no tópico e adicione [RESOLVIDO] ao assunto.
Poste teu código entre as tags [code] ... [/code].



 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/10/2011 18:46:17
|
flaviochess
Thread.start()
![[Avatar]](/images/avatar/acc2b13d8523c61b8cb57c6b06b75ad3.png)
Membro desde: 03/01/2011 20:46:43
Mensagens: 33
Localização: São Paulo
Offline
|
É, entrando na questão que o modo é criarmos nosso próprio método, encontraríamos diversas formas de se fazer... tanto o método do Vingdel quanto o link passado pelo Danilo já resolve o problema.
Também fiz a minha própria, então segue mais uma alternativa:
Agradeço a todos!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 20:35:28
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
Só para constar, outra maneira de fazer (a que uso):
Se a nota for 7.1, por exemplo:
7.1 / 0.5 = 14.2
round(14.2) = 14
14 * 0.5 = 7
Se for 7.4:
7.3 / 0.5 = 14.6
round(14.6) = 15
15 * 0.5 = 7.5
Se for um valor já arredondado (por exemplo 6.5):
6.5 / 0.5 = 13
round(13) = 13
13 * 0.5 = 6.5
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2011 20:33:48
|
flaviochess
Thread.start()
![[Avatar]](/images/avatar/acc2b13d8523c61b8cb57c6b06b75ad3.png)
Membro desde: 03/01/2011 20:46:43
Mensagens: 33
Localização: São Paulo
Offline
|
Boa e velha matemática... muito boa a solução Marco e também a mais simples!
Vou substituir minha solução por esta!
|
|
|
 |
|
|