巴西货币输入范围

时间:2019-01-30 14:53:05

标签: javascript html

我需要一个输入范围,显示巴西货币格式的值。 从逻辑上讲,在将其格式化的函数中接收此数字,然后返回格式化的值就足够了。但这是Javascript,我没有找到使它起作用的方法。

function converter(valor){
  var numero = (valor).toLocaleString('pt-BR');
  document.getElementById('valor').value = 'R$ '+numero;
}
<input type="range" min="0" max="4000.00" value="2000.00" step="0.01" style="width:100%" oninput="converter(this.value)">
<p>
<input type="text" name="valor" value="R$ 0,00" id="valor">

1 个答案:

答案 0 :(得分:1)

您可以使用toLocaleString()的第二个参数,即options样式参数,您可以在其中设置货币,因此您甚至不需要将串联与{{1} },因为它将在调用"R$"时准备就绪。

请注意,它不适用于您,因为toLocaleString是javascript中toLocaleString()的组成部分,并且您拥有的参数Number.prototype是字符串,因此,如果您不会将字符串解析为数字。

请参阅下文。

valor
function converter(valor){
  var numero = parseFloat(valor).toLocaleString('pt-BR',{ style: 'currency', currency: 'BRL' });
  document.getElementById('valor').value = numero;
}

进一步阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString