Javascript - 在所选元素上只获得两位小数

时间:2015-12-06 17:06:00

标签: javascript html

我想在这里提供一些帮助。 我需要在VAT字段中只获得两位小数。

提前感谢您提供任何帮助

$('select').change(function() {
var selected_value = $('#sel option:selected').val();
  
var no_VAT = document.getElementById('no_VAT');
no_VAT.innerText = selected_value;
  
var VAT = document.getElementById('VAT');
VAT.innerText = selected_value * 0.23;
  
var with_VAT = document.getElementById('with_VAT');
with_VAT.innerText = selected_value * 1.23 ;  
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="selector" id="sel">
<option value="10">2</option>
<option value="12">3</option>
<option value="18">6</option>
</select>

<p id="no_VAT"></p>
<p id="VAT"></p>
<p id="with_VAT"></p>

2 个答案:

答案 0 :(得分:1)

您可以使用toFixed()

将数字结果格式化为小数点后的2个位置
var VAT = document.getElementById('VAT');
VAT.innerText = (selected_value * 0.23).toFixed(2);
                                        ^^^^^^^^^^

由于fixedTo()返回一个String,如果你想确保结果仍然是一个数字(例如,如果你想稍后使用它),只需将其解析为浮点数。

VAT.innerText = parseFloat((selected_value * 0.23).toFixed(2));

答案 1 :(得分:1)

更改为 selected_value * 0.23 (selected_value * 0.23).toFixed(2)

&#13;
&#13;
$('select').change(function() {
var selected_value = $('#sel option:selected').val();
  
var no_VAT = document.getElementById('no_VAT');
no_VAT.innerText = selected_value;
  
var VAT = document.getElementById('VAT');
VAT.innerText = (selected_value * 0.23).toFixed(2);
  
var with_VAT = document.getElementById('with_VAT');
with_VAT.innerText = selected_value * 1.23 ;  
  
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="selector" id="sel">
<option value="10">2</option>
<option value="12">3</option>
<option value="18">6</option>
</select>

<p id="no_VAT"></p>
<p id="VAT"></p>
<p id="with_VAT"></p>
&#13;
&#13;
&#13;