Mostrar números desde base de datos con separadores de miles en C#

publicado por: Anonymous

Llevo varios dias y no doy con la solución, mi problema es que lleno una tabla utilizando @foreach pero todos los números me los trae sin formato, a pesar de que el campo es de tipo Money en la base de datos.

Leyendo encontré esta forma: var sepa = cart.ToString("c");

Siendo cart un número obtenido desde un query previo. El asunto es que de esta forma solo se puede hacer uno por uno, y es muy trabajoso y contraproducente, lo que necesito es que a la hora de imprimir dentro de la tabla <td>@table.cart</td> ya se muestre con los separadores de miles.

Esta es una captura de pantalla de lo que obtengo:
Esto lo obtengo con un @foreach

El código de la tabla es el siguiente. Utilizo un foreach para listar todo lo de la tabla de datos. Lo que quisiera es que se mostraran los separadores numéricos, los de miles porque no cuenta con decimales.

_x000D_

_x000D_

<table class="table table-striped table-hover">_x000D_
  <thead>_x000D_
    <tr>_x000D_
      <th>Sucursal</th>_x000D_
      <th>Hipotecario</th>_x000D_
      <th>Consumo</th>_x000D_
      <th>Comercial</th>_x000D_
    </tr>_x000D_
  </thead>_x000D_
  @foreach (var table in tabladatos ){_x000D_
  <tbody>_x000D_
    <tr>_x000D_
      <td>@table.sucursal</td>_x000D_
      <td>@table.hipotecario1</td>_x000D_
      <td>@table.consumo1</td>_x000D_
      <td>@table.comercial1</td>_x000D_
    </tr>_x000D_
  </tbody>}_x000D_
</table>

_x000D_

_x000D_

_x000D_

solución

Lo puedes intentar utilizando el método ToString("$###,###,##0.00") de la siguiente forma en los rows que desees:

    <td>   @table.consumo1.ToString("$###,###,##0.00")   </td>

O en su caso, si deseas, poner el formato de moneda en específico para algún país puedes utilizar CultureInfo, incluyendo la referencia using System.Globalization;

    <td>   @table.consumo1.ToString("$###,###,##0.00"), new CultureInfo("es-Mx")   </td>

Nota: en este caso "es-MX" corresponde a México.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *