Foros del Web » Programando para Internet » ASPX (.net) »

Manejo de Decimales en ASP.NET

Estas en el tema de Manejo de Decimales en ASP.NET en el foro de ASPX (.net) en Foros del Web. hola, me estoy iniciando en esto de asp.net y tengo un problema el cuál es el manejo de decimales, me explico: Primero, estoy usando vb. ...
  #1 (permalink)  
Antiguo 04/10/2010, 09:11
Avatar de Danielfuzz  
Fecha de Ingreso: septiembre-2007
Mensajes: 111
Antigüedad: 17 años, 1 mes
Puntos: 18
Exclamación Manejo de Decimales en ASP.NET

hola, me estoy iniciando en esto de asp.net y tengo un problema el cuál es el manejo de decimales, me explico:

Primero, estoy usando vb.

tengo un form con dos textbox, en uno se debe introducir los enteros y en otro los decimales, por ejemplo si quiero introducir el valor 153.03 debo llenar "153" en un textbox y "03" en el otro. El problema está cuando debo convertir el contenido de los 2 textbox en un verdadero decimal ya que la propiedad .Text (supongo) te devuelve un String. Cómo hago para convertir ambos valores en Decimal.

Estuve intentando con el siguiente:
  1. CType(CType(txtMontoE.Value, Integer) + (CType(txtMontoC.Value, Integer) / Math.Pow(10, txtMontoC.Value.Length)), Decimal)

Pero tuve problemas con éste ya que para algunos valores, como por ejemplo con 200 me da "200D" (Hexadecimal?)

También intenté con :
  1. Decimal.Parse(txtMontoE.Value + "," + txtMontoC.Value)

Pero en este último tengo la duda si el separador decimal que se debe colocar en el método debe ser el que se configuró en el sistema y si habría problemas al llevarlo a otro server que tenga otra configuración. Quisiera que me den una alternativa que sea independiente de la configuración.



Daniel
  #2 (permalink)  
Antiguo 04/10/2010, 09:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Manejo de Decimales en ASP.NET

Asi lo hago
dim valor as decimal = Convert.ToDecimal(txtventa.Text).
Pero podrías explicar por que usas 2 textbox para un solo monto?? (entero-decimales)
Me parece muy raro

Última edición por chuchufuentes; 04/10/2010 a las 09:33
  #3 (permalink)  
Antiguo 04/10/2010, 10:42
Avatar de Danielfuzz  
Fecha de Ingreso: septiembre-2007
Mensajes: 111
Antigüedad: 17 años, 1 mes
Puntos: 18
Respuesta: Manejo de Decimales en ASP.NET

chuchufuentes gracias por la pronta respuesta,

primero, uso 2 textbox para evitar que el usuario introduzca el separador decimal, porq? pues no en todos los países es el punto el separador decimal y la coma la separadora de miles.

Tengo una duda con Convert.ToDecimal(txtventa.Text)

qué separador decimal reconoce este método/función, coma o punto???
  #4 (permalink)  
Antiguo 04/10/2010, 12:36
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Manejo de Decimales en ASP.NET

Cita:
Iniciado por Danielfuzz Ver Mensaje
chuchufuentes gracias por la pronta respuesta,

primero, uso 2 textbox para evitar que el usuario introduzca el separador decimal, porq? pues no en todos los países es el punto el separador decimal y la coma la separadora de miles.

Tengo una duda con Convert.ToDecimal(txtventa.Text)

qué separador decimal reconoce este método/función, coma o punto???
Chamo creo que deberías usar esto

Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("es-VE")

esto cambia el formato de la fecha y los números dependiendo del país
si quieres saber mas de esto coloca esto en google

Thread.CurrentThread.CurrentCulture asp.net

allí hay muchos ejemplos

suerte
  #5 (permalink)  
Antiguo 06/10/2010, 09:35
Avatar de Danielfuzz  
Fecha de Ingreso: septiembre-2007
Mensajes: 111
Antigüedad: 17 años, 1 mes
Puntos: 18
Respuesta: Manejo de Decimales en ASP.NET

Gracias chuchufuentes. la verdad ya lo hice a mi manera, pero buscaré lo que me indicas, a ver si es mejor así.

Gracias.

Etiquetas: cadenas, conversion, decimal, décimales, flotante, manejo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:28.