【问题标题】:Asp.NET MVC Razor Format Decimal? to #.###,##Asp.NET MVC Razor 格式十进制?到 #。###,##
【发布时间】:2018-07-08 04:03:29
【问题描述】:

我目前正在开发一个 ASP.NET MVC 4.5 应用程序。

我尝试将模型中的属性呈现为正确的数值:

ViewModel 中的属性:

public decimal? Price { get; set; }

数据库中的数据如下所示:99999,99

我想要的格式如下所示:99.999,99

在我的剃刀视图中,我使用如下属性:

@Model.Price

不幸的是,它看起来仍然像这样:99999.99

你知道我该如何格式化那个十进制吗?值在我看来是正确的吗?

还有不使用展示模板的解决方案吗?

谢谢!!!

【问题讨论】:

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

请尝试使用本指南

using System;
using System.Globalization;

public class TestClass
{
     public static void Main()
     {
         int i = 100;

         // Creates a CultureInfo for English in Belize.
         CultureInfo bz = new CultureInfo("en-BZ");
         // Displays i formatted as currency for the bz.
         Console.WriteLine(i.ToString("c", bz));

         // Creates a CultureInfo for English in the U.S.
         CultureInfo us = new CultureInfo("en-US");
         // Display i formatted as currency for us.
         Console.WriteLine(i.ToString("c", us));

         // Creates a CultureInfo for Danish in Denmark.
         CultureInfo dk = new CultureInfo("da-DK");
         // Displays i formatted as currency for dk.
         Console.WriteLine(i.ToString("c", dk));
     }
}

【讨论】:

    【解决方案2】:

    试试这个

    decimal value = 99999.99M;
    string display = value.ToString("N2", CultureInfo.GetCultureInfo("es"));
    

    展示

    99.999,99

    我已经尝试了以下所有值:

    "C" 用于在您的文化中显示货币

    "C2"货币小数点后两位

    "C2", culture: 我使用的是小数点为逗号的文化

    "N2", culture: 因为我只想显示数字,没有货币符号

    【讨论】:

    • 您好,谢谢!我现在在我的剃刀视图中使用它:
    • @String.Format("{0:N0}", @Model.PreisVon)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    相关资源
    最近更新 更多