Onchange在小数点后添加2位数

时间:2013-10-04 13:09:06

标签: javascript

我有一张我正在处理的收据,为我做了数学计算。我需要将结果显示为美元价值。

我的HTML:

<input type="text" name="copy1" id="copy1" size="4" maxlength="10" onchange="calculate(this.value)">
<input type="text" name="copycosts" id="copycosts" size="4" VALUE=""/>

我的JavaScript:

<script type="text/javascript">
function calculate(){
var copy1value = parseFloat(document.getElementById("copy1").value, 10);
document.getElementById("copycosts").value = copy1value * 0.50;
}
</script>

如何在乘法完成后添加2个小数位?例如13 * 0.50 = 6.5 - 我希望它说6.50。

提前致谢。

3 个答案:

答案 0 :(得分:3)

使用toFixed()(将数字转换为字符串):

document.getElementById("copycosts").value = (copy1value * 0.50).toFixed(2);

如果您以后需要操纵此号码,则需要使用parseFloat()

var numFromCopycosts = parseFloat(document.getElementById('copycosts').textContent);

参考文献:

答案 1 :(得分:2)

使用以下代码对数字进行舍入:

(Math.round(copy1value * 0.50 * 100) / 100).toFixed(2);

示例

 1.345 will be rounded off to 1.35

添加了jsfiddle:http://jsfiddle.net/FQTqk/297/

答案 2 :(得分:0)

您可以使用toFixed:

var val = copy1Value.toFixed(2);