Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

filipecrosk

Erro no Cint

Recommended Posts

Ai galera...

 

olha esse codigo de exemplo:

<%valor = 5.3 + 6.0 + 6.3 + 4.9response.write valor &"<BR>"response.write Cint(valor)%>
isso retorna:

22,5

22

 

Só que o certo era o CINT arrendoda 22,5 para 23 não é????

Se for 1,1 - 1,2 - 1,3 - 1,4 vai para 1

Se for 1,5 - 1,6 - 1,7 - 1,8 - 1,9 vai para 2

 

Não é isso que devia acontecer???

Alguem já teve esse erro.. sabe o porque e como resolver???

 

Abraços

Filipe

Compartilhar este post


Link para o post
Compartilhar em outros sites

OH que vacilo...eu tinha colocado esse Ccur só para testar aqui.. mas eu estou usando mesmo é o Cint.... editei o codigo ai...E 22,6 ele joga para 23

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que estou verificando aqui é que numeros Pares ele dá pau e numeros impares ele funciona 100%..exemplo:19,5 ele arredonda para 2018,5 ele arredonda para 18Alguem sabe o porque isso? e como resolver???

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer fazer oq ?tipo 35,7 você quer que vire 35 ?35,2 você quer que arredonde para 35 ?eh isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não cara... apenas que arrendonde mesmo...pegando o seu exemplo:35,7 vira 3635,2 vira 35até aqui ta tudo funcionando perfeitamente!!!!mas quando tenho por exemplo:35,5 ele vira 35só que o certo é de 0,5 para 0,9 ele arredonde para cima...e de 0,1 até 0,4 ele arredonda para baixo...ai aqui ta dando errado... :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é nenhum erro !!!Esta é a regra de validação para o ,5 ! Números pares arredonda para baixo, ímpares para cima.Lembro que tive isto em estatística ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mesmo assim se você quiser fazer do jeito q você disse antes transforme o numero em string e manipule com InStr e o MID....naum consigo pensar em outra solucao...boa sorte ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oh valeus Buscopan... foi o remedio na hora certa..hehahahahah

 

e ai Ratu acho que vou usar só um right mesmo... e verificar se é ,5 ai jogo para mais...

 

que achão:

 

if right(VALOR,1) = "5" then   Valor = Valor + 0.1End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que desta maneira é uma boa solução ...

 

Pessoal,

 

Só para ilustrar mais um pouco ... fui fazer uma pesquisa para fundamentar o q eu havia dito, sobre "Regras de Arredondamento".

 

Em quase todos os lugares (principalmente quando o arredondamento era sobre dinheiro), dizia que quando terminava em 5 arredondava para cima, contrariando o ASP e o q eu aprendi na faculdade.

 

Entretanto, a grande maioria também diz que "Existem várias regras e teorias para arredondamento e que é um processo confuso".

 

Só para ilustrar o q eu defendi anteriormente,

Tabela 1: Em conformidade com a Resolução nº 886/66 da Fundação IBGE, o arredondamento é efetuado da seguinte maneira

 

Condições ------ Procedimentos ---- Exemplos

 

< 5

O último algarismo a permanecer fica inalterado.

53,24 passa a 53,2

 

> 5

Aumenta-se de uma unidade o algarismo a permanecer.

42,87 passa a 42,9

25,08 passa a 25,1

53,99 passa a 54,0

 

(i) Se ao 5 seguir em qualquer casa um algarismo diferente de zero, aumenta-se uma unidade no algarismo a permanecer.

 

2,352 passa a 2,4

25,6501 passa a 25,7

76,250002 passa a 76,3

 

= 5

(ii) Se o 5 for o último algarismo ou se ao 5 só seguirem zeros, o último algarismo a ser conservado só será aumentado de uma unidade se for ímpar.

 

24,75 passa a 24,8

24,65 passa a 24,6

24,7500 passa a 24,8

24,6500 passa a 24,6

 

Fonte: Adaptado de CRESPO, 1991

 

http://www.banasmetrologia.com.br/imprime.asp?codigo=1360

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu ai BuscoPan...eu fiz o IF mesmo e funcinou... e valeu pela explanação aí.. não sabia e nem fazia ideia que tinha essa diferença nos arredondamentos...abracos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para complementar ainda mais o assunto ...Estava tendo agora ha pouco uma discussão ferrenha com um funcionário aqui do serviço que dizia que era idiota fazer uma regra deste jeito (se for par ou se for impar), porque nao existe critério nenhum.Realmente, a primeira vista, é um pouco difícil identificar esta funcionalidade, mas acompanhem comigo o seguinte raciocínio.Dados 2 números: 2,75 e 2,85.a) Sem arredondamentos, a média entre eles é 2,80B) Da maneira como a maioria julga ser correta (jogar o 5 para cima) teriamos 2,80 e 2,90, produzindo, portanto, uma média de 2,85. (que poderia sernovamente jogada para 2,9 se for novamente arredondada)c) da maneira que eu mostrei, teriamos 2,80 e 2,80, portanto, com média 2,80.Qual das duas maneiras obteve a melhor aproximação ?Por mais ilógica que pareça, a regra não é tao doida assim ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.