Foros del Web » Programación para mayores de 30 ;) » .NET »

Validar Precio

Estas en el tema de Validar Precio en el foro de .NET en Foros del Web. Hola estoy tratando de validar un precio para que siempre quede con el formato de dinero ej: $ 1000,00 Para lo cual en el evento ...
  #1 (permalink)  
Antiguo 19/07/2010, 21:10
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Validar Precio

Hola estoy tratando de validar un precio para que siempre quede con el formato de dinero

ej: $ 1000,00

Para lo cual en el evento textChanged uso:

Código:
If Not IsNumeric(txtPrecioNeto.Text) Then
            txtPrecioNeto.Text = FormatCurrency(0, 2)
        End If
Pero queda engorroso ya que el usuario debe ir y escribir el valor antes de la coma, tampoco puede borrar el valor inicial $ 0,00 y luego tipear el valor.

Me pueden dar alguna idea como hacer que quede facil de usar y que siempre sea un valor correcto.

Saludos y gracias por cualquier sugerencia.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #2 (permalink)  
Antiguo 19/07/2010, 23:05
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Validar Precio

pero para que quieres evitar que se borre el signo de precio si lo que puedes hacer en un evento de la caja de texto que cuando se salga o escriva ciertos caracteres ponga automaticamente el sigo de precio y ya y lo de la coma pues el usuario deve saber que se deve poner coma en caso de que sea con decimales y en caso de k no agrege los valores de 00 y ya
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #3 (permalink)  
Antiguo 19/07/2010, 23:19
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Validar Precio

Cita:
Iniciado por rikimm Ver Mensaje
pero para que quieres evitar que se borre el signo de precio si lo que puedes hacer en un evento de la caja de texto que cuando se salga o escriva ciertos caracteres ponga automaticamente el sigo de precio y ya y lo de la coma pues el usuario deve saber que se deve poner coma en caso de que sea con decimales y en caso de k no agrege los valores de 00 y ya

Tienes un ejemplo de como hacer ese evento que auto complete con signo precio?

Gracias.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #4 (permalink)  
Antiguo 19/07/2010, 23:26
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Validar Precio

mmmmm puedes hacerlo con el evento changed
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #5 (permalink)  
Antiguo 19/07/2010, 23:38
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Validar Precio

Si lo del evento lo tengo claro pero no como digamos insertar el caracter $, voy ver que encuentro supongo habra alguna funcion.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #6 (permalink)  
Antiguo 19/07/2010, 23:40
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Validar Precio

pues lo que yo tengo en mente seria hacer la uniona de caracteres que seria asi

text1.tex="$"+text1.text
pero no me sale solo me sale si es en otra caja seria casi lo mismo solo cambiaria esto
text2.tex="$"+text1.text
te voy a investigar mañana que mañana tengo escuela jijijiji
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #7 (permalink)  
Antiguo 19/07/2010, 23:46
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Validar Precio

Unir los caracters es facil por ej: txtPrecio.text = "$" & txtPrecio.text

Pero el problema es que no se como detectar si falta el $.

Alguna manera de evaluar en un IF si el primer caracter es igual a $.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #8 (permalink)  
Antiguo 20/07/2010, 05:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Validar Precio

Código vb.net:
Ver original
  1. InStr(cadena, adenabuscada)
Devuelve un valor mayor a cero si cadenabuscada existe dentro de cadena.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 20/07/2010, 07:36
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: Validar Precio

mira esto, quiza es lo que andas buscando
http://www.vbforums.com/showthread.php?t=488810

aca hay otra alternativa, aunque es un poco mas restrictivo para programar.
http://msdn.microsoft.com/es-es/libr...az(VS.85).aspx

slds
plch
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...
  #10 (permalink)  
Antiguo 20/07/2010, 08:14
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 1 mes
Puntos: 37
Respuesta: Validar Precio

Checa este otro hilo haber si te sirve:

http://www.forosdelweb.com/f69/ayuda...moneda-406022/
  #11 (permalink)  
Antiguo 20/07/2010, 08:45
Avatar de NProgram  
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Validar Precio

Este ejemplo lo estoy aplicando en mi programa:
"Yo uso el punto como decimal"
Código vb:
Ver original
  1. Imports System.Globalization
  2.  
  3. Private Sub Tb_peso_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tb_peso.LostFocus
  4.         Tb_peso.Text = (CDec(Tb_peso.Text)).ToString("C", CultureInfo.CurrentCulture)
  5.     End Sub
Siendo Cdec(tb_peso.text) = 52639.26
Tb_peso.Text = $ 52,639.26

La explicacion de esto la encuentras en :

Cadenas con formato numérico estándar
http://msdn.microsoft.com/es-es/library/dwhawy9k.aspx

Cadenas con formato numérico personalizado
http://msdn.microsoft.com/es-es/library/0c899ak8.aspx



Espero te sirva
Saludos desde Chile
  #12 (permalink)  
Antiguo 20/07/2010, 13:00
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Validar Precio

Muchas gracias amigos ya lo solucione con su ayuda, use el siguente codigo con una pequeña modificación mia ya que sino se cae en alguns situaciones.

Código:
  Private Sub TxtPrecioNeto_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtPrecioNeto.Validating

        Dim currency As Decimal
        'Convert the current value to currency, with or without a currency symbol.

        If Not Decimal.TryParse(Me.txtPrecioNeto.Text, Globalization.NumberStyles.Currency, Nothing, currency) Then

            'Don't let the user leave the field if the value is invalid.

            With Me.txtPrecioNeto

                .HideSelection = False
                .SelectAll()

                MessageBox.Show("Por favor ingrese un valor numerico.", "Valor Invalido", MessageBoxButtons.OK, MessageBoxIcon.Error)

                .HideSelection = True

            End With

            e.Cancel = True
        End If

    End Sub

 Private Sub TxtPrecioNeto_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPrecioNeto.Validated

        'Display the value as local currency.
        Me.txtPrecioNeto.Text = Decimal.Parse(Me.txtPrecioNeto.Text.Replace("$", "")).ToString("c")

    End Sub
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.

Etiquetas: precio
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 02:36.