簡體   English   中英

計算結果 Js 和輸入字段中的小數/千位分隔符(點和逗號)

[英]Decimal / Thousand separator (dot and comma) in the calculation results Js and Input field

我正在嘗試在輸入字段中獲取千位、百位和小數的分隔符。 例如:如果我計算 50 * 50 結果是 2500 而我想得到 2.500,00

否則:如果我計算 52,5 * 52,5 結果是 2756.25,而我想得到 2.756,25

下面是我編寫的代碼幫助我處理 stackoverflow 帖子https://jsfiddle.net/snake93/dyepq135/10/

我是一個粉絲,甚至不知道編碼的基礎知識,所以我只是想弄清楚如何實現分隔符(點和逗號)。

<label class="mts-label">Peso</label>
<input  type="number" step="any" class="mts-field" maxlength="4" id="peso" name"peso1" placeholder="es: 70Kg"/>

<label class="mts-label">Altezza</label>
<input  type="number" class="mts-field" maxlength="4" id="altezza" name"altezza1" placeholder="es: 170cm"/>

<label class="mts-label">BMR</label>
<input  type="text" class="mts-field" id="bmruomo" name="bmruomo"
placeholder="0.000,0 Kcal" min="1" readonly/>

<button onclick="calculate()">Calcola</button>
<button id="reset" onclick="resetFields()">Reset</button>
calculate = function() {
 var peso = document.getElementById('peso').value;
 var altezza = document.getElementById('altezza').value;
 var bmruomo = parseFloat(peso * altezza);
  document.getElementById('bmruomo').value = bmruomo;

}
   
function resetFields(){
 var inputArray = document.querySelectorAll('input');
  inputArray.forEach(function (input){
    input.value = "";
    });
}

你可以這樣做...

 const f_BMR = document.forms['f-BMR'], num2strEUR = n => { let str = n.toFixed(2).replace('.',',') return [...str].reduce((r,c,i,a)=> { r += c let p = (a.length - i) if ((p%3)===1 && p>4) r += '.' return r },'') } f_BMR.onsubmit = e => { e.preventDefault() let bmr_val = (f_BMR.peso1.valueAsNumber * f_BMR.altezza1.valueAsNumber) f_BMR.bmruomo.value = num2strEUR(bmr_val ) }
 label,input, div { display: block; float: left; clear: both; } label, div{ font-size: .7em; font-weight: bold; margin-top: .8em; } label:after { content: ':' }
 <form name="f-BMR"> <label>Peso</label> <input name="peso1" type="number" step="any" placeholder="es: 70Kg" value="" required> <label>Altezza</label> <input name="altezza1" type="number" step="any" placeholder="es: 170cm"/ value="" required> <label>BMR</label> <input name="bmruomo" type="text" class="mts-field" placeholder="0.000,0 Kcal" value="" readonly> <div> <button type="submit">Calcola</button> <button type="reset">Reset</button> </div> </form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM