tipo dato decimal...

12/02/2006 - 18:49 por Carmelo J. Morales Muñoz | Informe spam
¡hola!

no tengo claro cuando es el mejor momento para utilizar este tipo de dato,
he visto ejemplos que lo emplean para cantidades dinerarias, algo como
decimal(9,2)

Si mi aplicación C# tengo un textBox con un valor tal que:"123.45". ¿es
conveniente la utilización de este tipo de datos? si no es así cual es el
mas indicado, porque en sql Server está money, pero en c# no existe uno tan
específico.


http://www.gestionagricola.com
http://www.carmelosoft.com

Preguntas similare

Leer las respuestas

#1 Carmelo J. Morales Muñoz
12/02/2006 - 19:11 | Informe spam
se me ha olvidado decir, que si hago lo sigueinte:

string x = "12345.678"

Decimal d = Convert.toDecimal(x);

d vale "12345678".

¿que pasa con la coma?

?¿que hago mal?.
Respuesta Responder a este mensaje
#2 Octavio Hernandez
12/02/2006 - 19:32 | Informe spam
Carmelo,

Decimal es por supuesto el más indicado para todas las aplicaciones que
manejan cantidades monetarias, no solo por el rango de representación sino
prinicpalmente por el hecho de que es el único que garantiza la exactitud
total de las cantidades decimales (float y double se representan
internamente en binario). Del lado del servidor se puede utilizar MONEY o
DECIMAL.

Slds - Octavio


"Carmelo J. Morales Muñoz" escribió en el mensaje
news:urS6yy$
¡hola!

no tengo claro cuando es el mejor momento para utilizar este tipo de dato,
he visto ejemplos que lo emplean para cantidades dinerarias, algo como
decimal(9,2)

Si mi aplicación C# tengo un textBox con un valor tal que:"123.45".
¿es conveniente la utilización de este tipo de datos? si no es así cual es
el mas indicado, porque en sql Server está money, pero en c# no existe uno
tan específico.


http://www.gestionagricola.com
http://www.carmelosoft.com


Respuesta Responder a este mensaje
#3 Octavio Hernandez
12/02/2006 - 19:37 | Informe spam
Carmelo,

Tanto Convert.ToDecimal() como Decimal.Parse(), que yo prefiero, se apoyan
en la configuración regional de la máquina Windows. En nuestro sistema el
punto es separador de miles...

Si la cadena donde tienes la cantidad está en formato inglés (punto como
separador decimal, etc.) utiliza:

Decimal d = Decimal.Parse(cadena, new
System.Globalization.CultureInfo("EN-US"));

Salu2 - Octavio


"Carmelo J. Morales Muñoz" escribió en el mensaje
news:e4YVO$$
se me ha olvidado decir, que si hago lo sigueinte:

string x = "12345.678"

Decimal d = Convert.toDecimal(x);

d vale "12345678".

¿que pasa con la coma?

?¿que hago mal?.

Respuesta Responder a este mensaje
#4 Carmelo J. Morales Muñoz
12/02/2006 - 20:17 | Informe spam
ok, gracias y cuando decimos un dato tipo decimal(9,2) ¿estamos diciendo que
de parte entera tiene 9 dígitos y 2 para decimales?... las matematicas
no son mi fuerte (aunque ahora no se si tnego algún fuerte ;) )

Respuesta Responder a este mensaje
#5 Octavio Hernandez
12/02/2006 - 21:19 | Informe spam
Carmelo,

Quiere decir (lo he mirado en la ayuda porque no estaba seguro), 9 dígitos
EN TOTAL y dos de ellos reservados para la parte decimal. Yo generalmente
utilizo DECIMAL(18, 4) en SQL Server para evitar problemas. Sí te
recomiendo 4 decimales porque si tienes multiplicaciones y divisiones (IVA,
por ejemplo) es mejor (y creo que hasta exigido por la ley) hacer los
cálculos con cuatro decimales aunque al final se redondee a dos.

Salu2 - Octavio



"Carmelo J. Morales Muñoz" escribió en el mensaje
news:%
ok, gracias y cuando decimos un dato tipo decimal(9,2) ¿estamos diciendo
que de parte entera tiene 9 dígitos y 2 para decimales?... las
matematicas no son mi fuerte (aunque ahora no se si tnego algún fuerte
)


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida