Ajax

3 respostas
L

Olá pessoal,
tenho um número que vem do banco de dados com esse valor: 1.234567899E9
com ajax ele mostra na tela o valor 1.234567899E9 e sem ajax mostra o valor correto que é: 1.234.567.899,00

Alguém pode dar alguma dica?

Vlw

3 Respostas

Ironlynx
Epa, isso mostra que o número está em notação científica! Vc tá usando que Framework Ajax? Dá para vc dar uma adaptada com JS, algo + ou - do tipo:
<script LANGUAGE="JavaScript"> 
function FormataReais(fld, milSep, decSep, e) { 

var sep = 0; 

var key = ''; 

var i = j = 0; 

var len = len2 = 0; 

var strCheck = '[telefone removido]'; 

var aux = aux2 = ''; 

var whichCode = (window.Event) ? e.which : e.keyCode; 

if (whichCode == 13) return true; 

key = String.fromCharCode(whichCode);// Valor para o código da Chave 

if (strCheck.indexOf(key) == -1) return false; // Chave inválida 

len = fld.value.length; 

for(i = 0; i < len; i++) 

if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break; 

aux = ''; 

for(; i < len; i++) 

if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); 

aux += key; 

len = aux.length; 

if (len == 0) fld.value = ''; 

if (len == 1) fld.value = '0'+ decSep + '0' + aux; 

if (len == 2) fld.value = '0'+ decSep + aux; 

if (len > 2) { 

aux2 = ''; 

for (j = 0, i = len - 3; i >= 0; i--) { 

if (j == 3) { 

aux2 += milSep; 

j = 0; 

} 

aux2 += aux.charAt(i); 

j++; 

} 

fld.value = ''; 

len2 = aux2.length; 

for (i = len2 - 1; i >= 0; i--) 

fld.value += aux2.charAt(i); 

fld.value += decSep + aux.substr(len - 2, len); 

} 

return false; 

}
</script>
e chamar no seu form: <input type=text name=valor length=15 onKeyPress="return(FormataReais(this,'.',',',event))">//exemplo para a entrada

EDIT: Perái, já vem do banco com esse valor: 1.234567899E9 e vc já tá editando com JS???Aí o problema é do FW Ajax q vc tá usando, melhor dizer para nós qual é? :D

L

Estou usando o DWR e o campo vem assim do banco, acho que está como decimal ou algo do tipo…

L

Acho que o problema é que quando utilizo o ajax não éfeita a conversão pelo commonsBeanUtils, pois estou usando struts.
tentei utilizar o ConvertUtils.convert para converter antes de enviar o response mas não funcionou também.

Criado 7 de novembro de 2007
Ultima resposta 8 de nov. de 2007
Respostas 3
Participantes 2