Ir para conteúdo

POWERED BY:

Arquivado

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

PRSolucaoWeb

Exibição de campo decimal

Recommended Posts

Boa tarde

 

Estou com uma dúvida de como visualizar em um campo text, o campo DECIMAL.

Eu gravo e ele fica assim na minha tabela SQL:

 

87900,00

 

Só que na visualização ele mostra:

 

87900

 

Eu estava utilizando essa função:

 

<%=FormatNumber(g_o_m_i2("total_geral"),2)%>

 

Mas não está funcionando certo.

 

Gostaria de saber qual o procedimento para o funcionamento certo.

 

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gilberto

 

Os campos são decimal 18,2, então eu coloquei value="<%=formatcurrency(g_o_m_i("v_total"),2)%>" e deu esse erro:

 

Tipos incompatíveis: 'cDBL'

 

Nesta aplicação eu crio varios registros dentro de um unico id, correto.

Então utilizo essa função para gravar nos campos determinados:

 

sub_total = Request.Form("sub_total")
desconto = Request.Form("desconto")
total_geral = Request.Form("total_geral")

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utiliza assim

 

 

<%=formatcurrency(g_o_m_i("v_total"))%>

 

https://www.facebook.com/webprogramation

 

Att;




No banco de dados esta sendo salvo 100,00 ou 100.00?

 

https://www.facebook.com/webprogramation

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Converte eles antes com o CDbl,

A função CDbl converte uma expressão para tipo double. Seu parâmetro é a expressão que descreve qualquer expressão válida. Você pode determinar o subtipo de expressão usando a função VarType(). Em geral, você pode documentar o seu código usando as funções de conversão de subtipo para mostrar que o resultado de alguma operação deve ser expresso como um determinado tipo de dados em vez do tipo de dados padrão.

Por exemplo, use CDbl ou CSng para forçar dupla precisão ou precisão simples aritmética nos casos em moeda ou aritmética inteira normalmente ocorreriam. Use a função CDbl para fornecer conversões internacionalmente cientes de qualquer outro tipo de dados a um subtipo duplo. Por exemplo, diferentes separadores decimais e milhares separadores são devidamente reconhecidas, dependendo da configuração de localidade do sistema.


A sintaxe da função CDbl é :-

 

CDbl(expression)

 

Exemplo#1 :-

dim a
a=134.345
document.write(CDbl(a))

 

Exemplo#2 :-

dim a
a=14111111113353355.345455
document.write(CDbl(a))
Resultado
1.41111111133534E+16

 

Exemplo#3 :-

Os valores convertidos podem variar desde:-
-1.79769313486232E308 to -4.94065645841247E-324 para valores negativos e 4.94065645841247E-324 para 1.79769313486232E308 para valores positivos.

<% anynumber=1234.5 %>
<% =CDbl(outronumero) %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Gilberto, eu coloquei assim:

<input name="v_total_<%=i%>" type="text" class="select51" id="v_total_<%=i%>" onKeyUp="javascript:total1(quant_<%=i%>,v_total_<%=i%>)" value="<%=response.Write(formatcurrency(cdbl("100,00")))%>" size="7" alt="decimal"/>

E ele mostra assim:

 

R$ 100,00

 

Mas quando mando gravar da erro:

 

Tipos incompatíveis: 'cDBL'

/sistema_os_atendimento_hcs_v.2.0/hcs/ef_altera_os_manutencao.asp, linha 55

 

Eu utilizo isso para gravar, está correto?

sub_total = cDBL(Request.Form("sub_total"))
desconto = cDBL(Request.Form("desconto"))
total_geral = RemoveReal(Request.Form("total_geral"))

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o tipo do campo no bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai tenho que utilizar isso:

 

'Função para remover caracteres especiais dos números
Function RemoveReal(valor)
if (valor <> "") then
RemoveReal = Replace(valor,",",".") 'Troca vírgula por ponto
end if
End Function

 

sub_total = RemoveReal(Request.Form("sub_total"))

 

Certo?

 

Obrigado



Outra coisa Gilberto, quando eu coloco a v_total = RemoveReal(request.form("v_total_"&i)), da erro no update:

 

db_conn.execute ("update TB_GERAR_OF_OM_CAD_ITENS Set v_total = '"&v_total&"' WHERE id=" & cdbl(id))

Só que da erro:

 

Microsoft OLE DB Provider for ODBC Drivers erro '80040e07'

[Microsoft][ODBC SQL Server Driver]

Error converting data type varchar to numeric.

/sistema_os_atendimento_hcs_v.2.0/hcs/ef_altera_os_manutencao.asp, linha 84

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

E que no seu banco esta sendo salvo com "virgula" e vc esta subistuindo a "virgula" pelo "ponto" e na verdade deveria ser ao contrario.

 

https://www.facebook.com/webprogramation

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudei na função:

 

'Função para remover caracteres especiais dos números
Function RemoveReal(valor)
if (valor <> "") then
RemoveReal = Replace(valor,".",",") 'Troca vírgula por ponto
end if
End Function

 

Mas continua o erro.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você usa essa função com response.write o que ele retorna?

 

'Função para remover caracteres especiais dos números
Function RemoveReal(valor)
 if (valor <> "") then
  RemoveReal = Replace(valor,".",",")  'Troca vírgula por ponto
 end if
End Function
response.write(RemoveReal(Valor))

 

https://www.facebook.com/webprogramation

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele esta dando erro ao converter tipo de dados varchar para numeric.

O que tem na linha 55

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que banco de dados vc usa? é MYSQL? se for o tipo de dados tem que esta como DOUBLE com duas casas decimais.

 

https://www.facebook.com/webprogramation

 

Att;

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.