Quando trabalhamos com numerais sempre precisamos fazer a conversão do formato de números usados, pois a maioria dos bancos de dados usa a notação de .(ponto) para casas decimais e não usa nenhum separador para casa de milhar, por exemplo.
Notação brasileira: $1.234,54 Notação Americana, usada nos bancos de dados: $1234.54
Algumas linguagens de programação já possuem funções nativas para tal conversão, no entanto o mesmo não ocorre com JavaScript, se você quer gravar algum dado no banco de dados como SQLITE isso pode ser um problema, já que a conversão será obrigatória.
Para essa tarefa podemos usar NumberFormat.js, que pode ser incluído na página para a formatação de números, com opção de formatação de tipo de moeda, percentual, grupamento de dígitos para casas decimais e de milhar com separadores customizáveis.
Como utilizar o .js:
Antes de tudo você deve fazer a inclusão do arquivo numberFormat154.js na sua página
<script type="text/javascript" src="numberFormat154.js"></script>
Agora basta instanciar um novo objeto JavaScript e definir os parâmetros necessários:
Um exemplo de conversão do formato em Real Brasileiro (R$) para a notação americana utilizada na maioria do bancos de dados:
var num = new NumberFormat(); num.setInputDecimal(','); num.setNumber(valor.value); // valor.value é '1.000,24' num.setPlaces('2', false); num.setCurrencyValue(''); num.setCurrency(true); num.setCurrencyPosition(num.LEFT_OUTSIDE); num.setNegativeFormat(num.LEFT_DASH); num.setNegativeRed(false); num.setSeparators(false, ',', ','); valor.value = num.toFormatted(); //valor.value é '1000.24'
Agora um exemplo inverso, de conversão da notação americana para R$
var num = new NumberFormat(); num.setInputDecimal('.'); num.setNumber(obj.value); // obj.value é '-1000.24' num.setPlaces('2', false); num.setCurrencyValue(''); num.setCurrency(true); num.setCurrencyPosition(num.LEFT_OUTSIDE); num.setNegativeFormat(num.LEFT_DASH); num.setNegativeRed(false); num.setSeparators(true, '.', ','); obj.value = num.toFormatted(); //obj.value é '-1.000,24'
A página do projeto inclui um simulador de configurações de parâmetros que pode ser encontrado em: http://www.mredkj.com/javascript/numberFormatPage2.html
O pacote js pode ser baixado no seguinte enderenço:
http://www.mredkj.com/javascript/nfdocs.html#downloadit