Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago_ASP

Formatação de números...

Recommended Posts

:) bom dia Galera;

 

gostaria de uma ajuda... é bom simples mas eu to com dificuldades.....

 

seguinte.. eu tenho um banco de dados que cadastra a data de nascimento do cara, mas eu precisava fazer uma consulta que me mostrasse não a data de nascimento, mas sim a idade do cara, então fiz a seguinte lógica de cálculo e deu certo....

 

Dia Atual: 15/07/2005

Data de Nascimento: 25/03/1985

 

Dia Atual - Data de Nascimento = Dias de Vida

15/07/2005 - 25/03/1985 = 7417

 

Dias de Vida / Qtd de dias no Mês / Qtd de Mês no Ano = Idade Atual

7417 / 30 / 12 = 20,60277778

 

 

 

O Problema Ta aí.... na hora da exibição ele mostra o Número com Casas Decimais... tipo 20,60277778 e eu Queria o Número sem casas Decimais, ou com apenas Uma... dependendo do Arredondamento....

 

 

-> Código ASP

 

<%

datanascimento = tabela("datanascimento")

dia = date

dias_vida = dia-datanascimento

idade = resulp/31/12

%>

 

como que faço pra mostrar em um ponto da página o Resultado (sem casas Decimais?)

 

Ja tentei...

 

<%Response.Write(FormatCurrency "idade",1

 

mas ele mostra o erro...

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03EE)

')' esperado

/c/resultado_consulta.asp, line 216, column 30

Response.Write(FormatCurrency "idade",1)

-----------------------------^

 

Obrigado pela ajuda...... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você tem a idadetenteo cint mesmo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é... complicado....

quando uso:

 

<%

Function Idades(Nasc)

Idades = Int(DateDiff("y", "21/09/1973", FormatDateTime(Now,2)) / 365.24)

End Function

%>

 

ele exibe esse erro....

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03EA)

Erro de sintaxe

/c/resultado_consulta.asp, line 206

Function Idades(Nasc)

 

_______________________________________

 

quando uso o Cint

 

<%=((cint("idade"))%>

 

ele exibe esse erro....

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03EE)

')' esperado

/c/resultado_consulta.asp, line 217, column 32

Response.Write(((cint("idade")))

-------------------------------^

 

 

q q eu faço??? http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudando um pouquinho a função do AAlves que pra mim tá perfeita:

 

# Function Idades(Nasc)# Idades = Fix(DateDiff("y", "21/09/1973", FormatDateTime(Now,2)) / 365.24)# End Function

Em vez de Int, eu usei o Fix. será que dá certo. testae.

 

Se não der certo, talvez o erro esteja na função DateDiff ou na FormatDateTime.

Pra testar, separa elas em variáveis.

 

Function Idades(Nasc)   Dim Temp1,Temp2   Temp1=FormatDateTime(Now,2)   Temp2=DateDiff("y", "21/09/1973", Temp1)   Idades = Fix( Temp2/ 365.24) End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem muito parentesetente assimResponse.Write(cint("idade"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando uso o cint.... Response.Write(cint("idade"))Tipo de erro:Erro de tempo de execução do Microsoft VBScript (0x800A000D)Tipos incompatíveis: 'cint'/c/resultado_consulta.asp, line 217

Compartilhar este post


Link para o post
Compartilhar em outros sites

tira as aspasResponse.Write(cint(idade))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana.. deu certo!!!!mas ainda tenho um problema.... aliás um grande problema..... nesse caso por exemplo o cálculo dá 20,6 ( Vinte Anos) porém com o arredondamento é exibido (21 anos)...... e agora??? como eu faço pra ele colocar só o 20 sem o ",6" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Galera... será que alguém vai conseguir me ajudar?? ou melhor será q o ASP consegue fazer isso?????

Se você quer a parte inteira, use INT! A função que postei funciona 100% e foi testada (novamente) antes de postar! Houve algum erro em seu script (/c/resultado_consulta.asp, line 206)!

 

:huh:

isso...

 

essa função não arredonda os valores...

 

veja

 

http://www.imasters.com.br/glossarios/pop_vb.php?id=43

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.