Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu tenho um pequeno probleminha.(mas eu acho que é grande)
Eu estou fazendo um carrinho de compras, com quantidade de Itens e Valores.
Eu estou lendo essas informações de um arquivo XML.
Eu consigo ler os Itens perfeitamente, mas os Valores o bicho tá pegando, eu não consigo ler os valores na moeda real, ou seja, não consigo ler 1.855,34
Eu só consigo ler removendo um ponto e removendo a virgula trocando por ponto, exemplo: 1855.34
Alguém sabe como eu posso fazer isso, mostrar o valor Real 1.855,34?
XML
<carrinho>
<carrinhoQTD>
<item>1</item>
<valor>0,01</valor>
</carrinhoQTD>
<carrinhoQTD>
<item>1</item>
<valor>65,88</valor>
</carrinhoQTD>
</carrinho>
AS:
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
item = [];
valor = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
item[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
valor[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
mostrarCarrinho();
} else {
content = "não carregou!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
//
function mostrarCarrinho() {
var tempItens:Number = 0;
var tempValor:Number = 0;
var _string:String;
var _array:Array;
for(var i = 0; i<item.length; i++){
tempItens += Number(item[i]);
// remover os pontos(.)
_array = valor[i].split('.');
_string = _array.join('');
// trocar virgula(,) por ponto(.)
_array = _string.split(',');
_string = _array.join('.');
tempValor += Number(_string);
}
itens_txt.text = tempItens;
valor_txt.text = tempValor;
}
Valeu
Na verdade o que você deve fazer para ver o numero com virgulas e pontos deve ser trasnformado em STRING e não number como você ta usando então fica mais fácil para que você trabalhe se procurar transformar todos os numeros em strings... mostrar na tela eles como string mas manter uma variavel nativa em number sem as pontuações para uma possivel conta ;)
Abraços
Recupere do xml, o valor normal, e crie um metodo no action, que arrume o valor recuperado pra R$ 1.000,00
Abs
Olá kisuke e berseck,
Grato pelas dicas, mas meu conhecimento em AS deixa a desejar.
Vocês podem me ajudar a criar essa função e fazer de uma forma mais correta?
Grato.
Até onde eu sei, não existe nenhuma rotina nativa do AS para formatação de valores (moeda)...
A sugestão é você eliminar a pontuação ("." e ",") dos valores para efetuar a soma e depois criar uma função para formatação de valores da moeda corrente para apresentação na tela.
Abs.