我有一个禁用的文本框,显示计算的百分比。 我希望格式化此文本框以始终显示一个小数位,即使该数字是整数。
我觉得这应该很简单,但出于某种原因,我无法弄清楚这一点。
有什么建议吗?
<div class="labelReallySmall">
@Html.Label("%F", null, new { @class = "req" })
@Html.TextBox("PFat305", null, new { disabled = true })
<script>
$(document).ready(function () {
$("#305Fat").change(function () {
var a = parseInt($(this).val());
var b = parseInt($("#Milk305").val());
var c = (a*100)/b ;
$("#PFat305").val(c);
});
});
</script>
</div>
提前致谢,Mark
答案 0 :(得分:2)
尝试.toFixed(n)
- 其中n - 是小数位数。
alert((10.82).toFixed(1));
答案 1 :(得分:1)
检查以下代码。希望它会对你有所帮助。
var percent = "35.5%"
var parsePercent = parseFloat(percent);
if (parsePercent == null)
alert("error");
else {
var decimal = parsePercent / 100
alert(decimal);
}
答案 2 :(得分:1)
您可以使用toFixed-function。
$(document).ready(function () {
$("#305Fat").change(function () {
var a = parseFloat($(this).val()),
b = parseFloat($("#Milk305").val()), c;
if (b) { //to avoid dividing by null
c = parseFloat((a*100)/b).toFixed(1);
$("#PFat305").val(c);
} else {
//handle dividing by 0 here
}
});
});
Heres a working Fiddle进行测试。十进制更改正确,因此如果您的小数错误,可能错误在其他地方
答案 3 :(得分:1)
toFixed是正确的答案。但这是另一种(长期)方式。
var nu = 78.988;
nu = Math.floor(nu * 10)/10;
警报(NU); // 78.9
使用100将是两位小数,1000是3,等等。