使用kendoNumericTextBox的货币输入数字

时间:2016-04-26 14:15:46

标签: javascript kendo-ui

我在该视图中使用剑道进行视图,用户应该支付他的费用,但我的视图不接受带有十进制数字的值!也就是说,如果我举了12个它的okey但是如果我把12.256它给我看了一个异常!!

我想接受如下值:12.250 0.120 ....

这是我的观点:



<div class="form-group">
  <div class="col-md-6 col-sm-6">
    <label class="cke_label" for="Montant">Montant Recette</label>
  </div>
  <div class="col-md-6 col-sm-6">
    <input type="number" required="" style="text-align: right; width: 100%; background-color: inherit;" placeholder="Montant" data-number-to-fixed="2" data-number-stepfactor="100" class="currency" id="Montant" name="Montant">
    <span class="field-validation-valid text-danger" data-valmsg-for="Montant" data-valmsg-replace="true"></span>
  </div>
  <script>
    $(document).ready(function() {
      Montant.value = $("#Montant").kendoNumericTextBox({
        format: 'n3',
        toFixed: '3',
        value: "0.000",
        min: "0",
        step: "0.001"
      }).data("kendoNumericTextBox");
    });
  </script>
</div>
&#13;
&#13;
&#13;

这是我的控制者:

&#13;
&#13;
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "EncaissementID,libelle,DateEncaissement,Montant,ProjetID,Description")] Encaissement encaissement) {
  encaissement.Montant = Convert.ToDecimal(encaissement.Montant);
  if (ModelState.IsValid) {
    db.Encaissements.Add(encaissement);
    db.SaveChanges();
    return RedirectToAction("Index", "Encaissement");
  };
  ViewBag.ProjetID = new SelectList(db.Projets, "ProjetId", "nomP");
  return View(encaissement);
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您对要查找的格式有点模棱两可(您想要逗号或点作为小数分隔符。)

基本上,您需要做的第一件事就是包含culture js文件:

<script src="http://cdn.kendostatic.com/2014.1.318/js/cultures/kendo.culture.en-US.min.js"></script>

如果您想将点作为输入,可以使用kendo.culture.en-US.min.js,或者如果您想使用逗号,则可以使用kendo.culture.fr-CA.min.js。这些仅是示例...您可以根据您的位置选择任何其他文化文件。

然后你需要通过将文化传递给kendo.culture函数来告诉kendo他应该使用哪种文化:

kendo.culture("fr-CA");

有关kendo如何处理数字格式的详细信息,请参阅kendo's number formatting documentation

相关问题