Search code examples
asp.net-mvcnumber-formatting

asp.net mvc set number format default decimal thousands separators


How can I set both default decimal and thousands separator for formatting number in asp.net mvc regardless of culture?


Solution

  • I will post the code that finally worked for me. On controller, on OnActionExecuting function:

    ViewBag.CurrentNumberFormat = new System.Globalization.CultureInfo("en-US", false).NumberFormat;
    ViewBag.CurrentNumberFormat.NumberDecimalDigits = 2;
    ViewBag.CurrentNumberFormat.NumberDecimalSeparator = "~";
    ViewBag.CurrentNumberFormat.NumberGroupSeparator = " ";
    

    and in View:

     @((1234567.435).ToString("#,###.##", ViewBag.CurrentNumberFormat))