【问题标题】:Number Formatting in Mvc TextBoxMvc TextBox 中的数字格式
【发布时间】:2013-10-09 07:14:54
【问题描述】:

我想在 mvc 中添加一个 6 个字符宽的文本框,在 3 位数字后有一个小数,例如 xxx.xx 我怎样才能做到这一点。我正在尝试做这样的事情,但它没有提供所需的输出。请分享 和我一起解决这个问题。谢谢。

 @Html.TextBoxFor(m => m.Axis1_Amount, new { maxlength = "6" })
  $('#Amount').blur(function () {
            myFunction(this.value);
        });
        function myFunction(val) {
            getVal = parseFloat(Math.round(val * 100) / 100).toFixed(2);
            $("#Amount").val(getVal);
        }

【问题讨论】:

  • 实际结果是什么
  • 上面的代码只是在我在文本框中输入的任何数字之后附加 .00。就像我输入了 555555。它给出了输出 55​​5555.00 但我希望输出为 555.55

标签: javascript jquery .net asp.net-mvc asp.net-mvc-3


【解决方案1】:

试试这个

function myFunction(val) {
        getVal = parseFloat(Math.round(val) / 100).toFixed(2);
        $("#Amount").val(getVal);
    }

Demo

【讨论】:

  • 当我提醒该值时,它会返回所需的输出。但在文本框中它没有显示小数的值。我该如何解决这个问题?
  • @Sandy 你能设置小提琴吗
  • 先生,在文本框中输入这个值 5555 后,它给了我 output:55.55 但它应该给 555.5 。在文本框中输入的任何数字都应在三位数字后给出小数
【解决方案2】:

由于我的文本框不包含超过 6 个字符并参考上面给出的答案,我的问题解决了

  function FormatString(val) {
            getVal = 0;
            // getVal = parseFloat(Math.round(val) / 100).toFixed(2);
            if (val.length <= 3) {
                getVal = parseFloat(Math.round(val)).toFixed(2);
            }
            else if (val.length == 4) {
                getVal = parseFloat(Math.round(val) / 10).toFixed(2);
            }
            else if (val.length == 5) {
                getVal = parseFloat(Math.round(val) / 100).toFixed(2);
            }
            else if (val.length == 6) {
                getVal = parseFloat(Math.round(val) / 1000).toFixed(2);
            }
            $("#Amount").val(getVal);
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2011-12-02
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多