Ir para conteúdo

POWERED BY:

Arquivado

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

diego_sl

Arredondamento

Recommended Posts

gostaria de saber se existe alguma função que eu faça para que por exemplo...quando eu dividir "7" por "2",me retorne "4",ao invés de "3.5",se alguém souber posta ai,flw :( aaaaa,também preciso fazer uma espécie de procura em uma string,tipona string "[figura 1]" e preciso saber como fazer para saber qual é o número da figuraalgo que seja do tipofunção que retorna número entre "[figura " e "]"flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

gostaria de saber se existe alguma função que eu faça para que por exemplo...quando eu dividir "7" por "2",me retorne "4",ao invés de "3.5",se alguém souber posta ai,flw ;)aaaaa,também preciso fazer uma espécie de procura em uma string,tipona string "[figura 1]" e preciso saber como fazer para saber qual é o número da figuraalgo que seja do tipofunção que retorna número entre "[figura " e "]"flw

Para arredondar é Fácil você pode usar: Cint(número), ou FormatNumber(numero,casas)Depois eu passo algo para a string.:O]]

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra pegar o arredondamento, você faz um left, pega o primeiro, e depois soma 1 nele ......

mas o problema é q não é sempre que eu posso somar 1 nele...ex: c for 8 /2 vai dar 4...eu quero q continue o 4...e c eu sempre somar 1, o resultado será 5 e o resultado vai sair errado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para arredondar para cima, use esta função:function divide(dividendo, divisor) dim resto resto = dividendo mod divisor divide = (dividendo / divisor) - (resto / 2) + restoend function...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ferraz,

Sua função não erredonda não, e esta aumentando o valor. O format number resolve, arredonta numa boa a divisão, e acerta o número de casas. E o Cint() te devolve o inteiro arredondado.

 

Fiz um teste (abaixo) e não deu certo:

 

<%function divide(dividendo, divisor)	dim resto	resto = dividendo mod divisor	divide = (dividendo / divisor) - (resto / 2) + restoend function%><%= divide(11,9) %><br><%= divide(9,11) %><br><%= divide(7,2) %><br><%= divide(15,3) %><br><%= divide(3,2) %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aê:

 

Experimente usar Round(numero, [número_casas_decimais])

 

A função Round retorna um valor próximo ao valor informado (número), com o número de casas decimais especificado. Se o número a ser arredondado estiver exatamente no meio de dois possíveis números, a função retorna aquele cujo dígito mais à direita é um número par.

 

Exemplos:

 

Dim var1, var2, var3, var4, var5var1 = Round(1.5)      ' var1 = 2var2 = Round(2.5)      ' var2 = 2var3 = Round(3.5)      ' var3 = 4var4 = Round(0.985, 2) ' var4 = 0.98
Se o parâmetro número_casas_decimais for omitido, a função retornará um inteiro

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae...tipo...funcionou aki...mas não fez oq eu preciso...assim arredonda tanto para cima como para baixo...e eu preciso que SEMPRE seja para cimaexs:1.0->11.1->21.2->21.3->21.4->21.5->21.6->21.7->21.8->21.9->2sacaram?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sempre para cima?

Usa o round(num,1), e com o Right(num) verifica se o valor da fração é >0, se for você soma 1 e quebra como Left(num).

Essa é sua lógica, monte seu código a partir disso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para procurar a string:

 

Dim sThisString, sSubStr, iNumbersThisString = "[Figura 100]"sSubStr = mid(sThisString, instr(1, sThisString, " ")) 'Retorna 100]iNumber = Left(sSubStr, Len(sSubStr)-1) 'Retorna 100
Abraço,

 

Nâmio Evangelista Cavalcante

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que este post já está bem antigo mas la vai um jeito de resolver esse problema criando uma função math.ceil para Vb:<%function Ceilvb(valor) ' para VBScript Ceilvb= Round(valor+0.5)end function %>Então depois é só colocar o valor ...<%= Ceilvb("8,0") %> ' retornará 8<%= Ceilvb("8,1") %> ' retornará 9Bem isso fica pra quem tiver dúvida no futuro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que este post já está bem antigo mas la vai um jeito de resolver esse problema criando uma função math.ceil para Vb:<%function Ceilvb(valor) ' para VBScript Ceilvb= Round(valor+0.5)end function %>Então depois é só colocar o valor ...<%= Ceilvb("8,0") %> ' retornará 8<%= Ceilvb("8,1") %> ' retornará 9Bem isso fica pra quem tiver dúvida no futuro

hehe,vlw veio,nem lembrava + mas ja q tu postou...ja tinha até resolvido o problema mas vlw por ajudar a galera...flw

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.