Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

definir numero de posiciones decimales en DataTable y DataGridView

648 views
Skip to first unread message

Marco Antonio Montalvo

unread,
Jan 7, 2010, 6:30:40 AM1/7/10
to
hola a todos
una consulta: he definido un DataTable con sus respectivas columnas y
una de ellas de tipo decimal como sigue:

columna.DataType = System.Type.GetType("System.Decimal");

Luego voy llenando varias filas del datatable y a medida que inserto una
fila despliego el avance en un DataGridView. El problema que tengo es
que no puedo hacer que la columna de tipo Decimal aparezca siempre con
dos posiciones decimales, por ejemplo si introduzco 14 me despliegue
14.00 y si introduzco 2.3 me despliegue 2.30, etc. Otro detalle, cuando
recupero los datos directamente desde SQL Server siempre me despliega
con 4 decimales en el datagridview, por ej: 2.3000

Como puedo hacer para que me despliegue siempre con 2 decimales?

de antemano muchas gracias

SoftJaén

unread,
Jan 7, 2010, 9:41:26 AM1/7/10
to
"Marco Antonio Montalvo" escribi�:

> he definido un DataTable con sus respectivas columnas y una de ellas de
> tipo decimal como sigue:
>
> columna.DataType = System.Type.GetType("System.Decimal");
>
> Luego voy llenando varias filas del datatable y a medida que inserto una
> fila despliego el avance en un DataGridView. El problema que tengo es que
> no puedo hacer que la columna de tipo Decimal aparezca siempre con dos
> posiciones decimales, por ejemplo si introduzco 14 me despliegue 14.00 y
> si introduzco 2.3 me despliegue 2.30, etc.

Hola, Marco Antonio:

Por los ejemplos de n�meros que has indicado, entiendo que tienes el punto
como separador decimal en la configuraci�n regional de Windows. Si he
entendido bien el contenido de tu mensaje, no veo yo donde est� el problema,
porque es correcto que si escribes 14 te aparezca 14.00, y si escribe 2.3
que te aparezcan 2.30, es decir, con dos decimales, tal y como as� demandas.

No obstante, siempre puedes especificarle un formato num�rico a la columna
del control DataGridView, una vez que �ste control se encuentre enlazado con
el objeto DataTable:

DataGridViewColumn col = dataGridView1.Columns["Nombre_Columna"];

col.DefaultCellStyle.Format = "N2";

> Otro detalle, cuando recupero los datos directamente desde SQL Server
> siempre me despliega con 4 decimales en el datagridview, por ej: 2.3000
>
> Como puedo hacer para que me despliegue siempre con 2 decimales?

Para que se "despliegue" siempre con 2 decimales, ya te he comentado lo que
tienes que hacer. Pero si se te "despliega" con 4 decimales, digo yo que
ser� debido a la Escala que tenga definida la columna en la tabla de la base
de datos de SQL Server. Si el tipo de dato de la columna es Decimal, y tiene
una Escala de 4, los valores de los campos se "desplegar�" con 4 decimales.

Un saludo

--
Enrique Mart�nez
[MS MVP - VB]

Nota informativa: La informaci�n contenida en este mensaje, as� como el
c�digo fuente incluido en el mismo, se proporciona �COMO EST��, sin
garant�as de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en pr�ctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Marco Antonio Montalvo

unread,
Jan 7, 2010, 11:47:37 AM1/7/10
to
SoftJa�n escribi�:


muchas gracias SoftJa�n

> col.DefaultCellStyle.Format = "N2";

era lo que necesitaba.

saludos!

0 new messages