首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于服务器端和客户端的MVC格式编号EU样式

用于服务器端和客户端的MVC格式编号EU样式
EN

Stack Overflow用户
提问于 2017-04-04 13:30:05
回答 1查看 683关注 0票数 0

我搜索了几天,如何将我的双和双输入格式化为十进制=逗号和千分隔符=点

示例:

123456.01 ==> 123.456,01 14,02 ==> 14,02 ==> 987.654.321,002

我到目前为止所做的:

  1. 我检查了服务器/本地区域设置
  2. 在我的web.config中添加全球化 全球化uiCulture=fr-BE culture=fr-BE
  3. 在我的模型中,我使用了以下属性(但我使用的是TextBoxFor) DisplayFormat(DataFormatString = "{0:N3}",ApplyFormatInEditMode = true) @Html.TextBoxFor( model => model.size,new {tabindex=11,id = "SizTotText",@class =“窗体控制输入-sm calc”))

但我怎么能:

1-当用户打字时,应该格式化号码吗?我找到了这样的解决方案:如何在键入输入框文本时格式化它,但我不能用Dot 小提琴换逗号

2-在此帖子之后创建自定义助手(将十进制更改为双)帖子

堆叠溢出有很多解决方案,但似乎没有一个适合我。

我希望我的问题很清楚,很抱歉我的英语很差。

编辑:

我决定忽略客户端格式,没有更多的点和逗号,但我仍然对区域设置有问题。

我的应用程序仍然将点作为十进制分隔符,我如何修复这个问题?更有趣的是,它接受一些字段,而另一些则不接受,尽管它们都具有相同的属性、设置.等见屏幕截图

有错误的字段是计算字段。

代码语言:javascript
复制
   var url = '@Url.Action("CalculateDropPrec", "Drop")';
    $('.calc').change(function () {
        // get the values of the textboxes
        var numUsed = $('#numUseText').val();
        var totNumUsed = $('#totNumUseText').val();
        $.post(url, { nUsed: numUsed, tUsed: totNumUsed }, function (response) {
            $('#precText').val(response);
        });
        return false;
    });


@Html.TextBoxFor(model => model.PerceDropTot, new {data_val = "false", id = "precText", name = "precText", @class = "form-control input-sm drop-read", placeholder = "0.0", @readonly = "readonly" })


public JsonResult CalculateDropPrec(double nUsed, double tUsed)
{
    var result = CommonComputation.CalcPrecDrop(nUsed, tUsed);
    return Json(result);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 14:25:08

这可能不是你想要的方向,但是“按你键入的数字格式”真的需要吗?缺点是这种行为可能变得非常棘手,我也是指用户。假设您键入了数字"1234“,它变成了"1.234”。当输入字段再次聚焦,插入符号放置在这里:"1.|234“时,是否清楚当Backspace被击中时会发生什么?点是移除的,还是1?当用户尝试手动输入,.时会发生什么?所有的问题都需要考虑。此外,当您在表单中发布值时,格式化时它不是有效的数字。

由于这些原因,即使像我们大量使用的Kendo UI NumericTextBox这样的数字输入的高级控件,也选择格式化一个仅显示的值,而不是拦截用户输入(尝试链接的演示)。

但是您也可以检查cleave.js是如何解决这个问题的,它可以实时格式化,但可能使用浏览器区域性设置。但就个人而言,当试图纠正已经存在的值时,不喜欢它的行为

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43208714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档