繁体   English   中英

在 MVC 中放置千位分隔符

[英]Put thousands separator in MVC

我像这样通过 ViewData 值发送到我的视图。

Controller

public List<string> ListarTarjetas()
{
    OpexDB db = new OpexDB();           

    List<string> Tarjetas = new List<string>();

    using (db)
    {
          var listTarjetasInformativas = db.SP_TARJETASINFORMATIVAS();
                
          foreach(var item in listTarjetasInformativas)
          {
               Tarjetas.Add(item.NOMBRE);
               Tarjetas.Add(item.MONTO.ToString());
          }
     }

     return Tarjetas;
}
public ActionResult Index()
{
    var DatosTarjetas = ListarTarjetas();

    ViewData["PrimerNombre"] = DatosTarjetas[0];
    ViewData["PrimerMonto"] = String.Format(DatosTarjetas[1], new CultureInfo("es-HN"));

    return View();
}

我的 razor 视图的一部分:

<div class="inner">
   <p>@ViewData["PrimerNombre"]</p>           

   <p>@ViewData["PrimerMonto"]</p>

   <div class="icon">
      <i class="ion ion-pull-request"></i>
   </div>
</div>

在我看来,在<p>@ViewData["PrimerMonto"]</p>部分反映了这个值 7218.19,但我希望它以这种方式反映出来,7,218.19。

我试过这样的:

ViewData["PrimerMonto"] = String.Format(DatosTarjetas[1], new CultureInfo("es-HN"));

以及其他方式。 但我没有得到任何改变。

感谢您提供任何帮助。

您可以将其格式化为数字或货币,但如果它是视图数据中的字符串,则需要将其转换为数字。 另见https://learn.microsoft.com/en-us/do.net/standard/base-types/standard-numeric-format-strings

[TestMethod]
        public void TestNumberFormat()
        {
            string numberStringValue = "7891.12";
            double numberNumericValue = double.Parse(numberStringValue);

            string formattedValueWithSymbol = string.Format(new CultureInfo("es-HN"), "{0:c}", numberNumericValue);
            string formattedValue = string.Format("{0:N}", numberNumericValue);

            Console.WriteLine(formattedValueWithSymbol);
            Console.WriteLine(formattedValue);
        }

这个的output就是

Standard Output: 
L7,891.12
7,891.12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM