数字文本框-格式

Numeric Textbox - Formatting

本文关键字:-格式 文本 数字      更新时间:2023-09-26

我有一个显示计算百分比的禁用文本框。我希望将此文本框格式化为始终显示单个小数点,即使数字是整数。

我觉得这应该很简单,但由于某种原因,我想不出来。

有什么建议吗?

<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

尝试.toFixed(n) -其中n -为小数。

    alert((10.82).toFixed(1));

检查以下代码。希望能对你有所帮助。

var percent = "35.5%"
var parsePercent = parseFloat(percent);
if (parsePercent == null)
alert("error");
else {
var decimal = parsePercent / 100
alert(decimal);
}

toFixed是正确答案。但这里有另一种(长)方法来做到这一点。

var nu = 78.988;
nu = Math.floor(nu * 10)/10;

警报(ν);//78.9

使用100将是小数点后两位,1000是3,等等

你可以使用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
        }                  
    });
});

这是一个用于测试的工作提琴。小数的变化是正确的,所以如果你的小数是错误的,可能错误是在其他地方