Visual Basic.NET - Como poner punto despues del primer cero en vb. net

 
Vista:
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Alonso (8 intervenciones) el 22/04/2015 20:09:38
Quisiera que me ayudaran con este problema.

Como poner un punto a la derecha despues del primer cero que se escribe en una caja de texto.

Ejemplo.

Si yo escribo en la caja de texto: 0
que me haga esto: 0.

Que lo haga solo cuando se inicie con cero.
Hojala me pudieran hechar Una Manito.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por omar (155 intervenciones) el 22/04/2015 20:24:49
en el evento changed del textbox

Almacenar la longitud de los caracteres

dim digitos as integer= tnumero.length

almacenamos en un arreglo lo que tiene el textbos

dim digitos()as char=tnumero
dim nuevonumero as string

recorremos los digitos para saber si hay un cero en la posicion que verifiquemos
for i as integer=0 to digitos.legth-1
if digitos(i)=0

nuevonumro &="."
end if

next

en caso de que exista le agregamos el punto(.)

al final nuevo numero contendra los datos
tnumero.text=nuevonumero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Alonso (8 intervenciones) el 23/04/2015 01:50:10
Gracias omar me ha funciónado.
Excelente aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Khristtian (17 intervenciones) el 24/04/2015 14:06:01
Para que recorrer todo el largo del contenido ????????

Solo debes evaluar si el valor es = 0, y haces el cambio.
Con esto solo harás la evaluación solo cuando haya un 0 en el textbox, no por cada cambio de valor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Alonso (8 intervenciones) el 24/04/2015 17:48:07
Si podrías poner un ejemplo Khristtian realizando como se realizaría.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Khristtian (17 intervenciones) el 24/04/2015 18:22:49
Private Sub TextBox1_Change()
If TextBox1.Text = "0" Then TextBox1.Text = "0,"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Alonso (8 intervenciones) el 25/04/2015 05:25:24
Gracias Khristtian
Me ha funciónado de maravilla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Alonso (8 intervenciones) el 25/04/2015 06:45:05
Tengo un problema al utilizar este metodo que a la hora de borrar no puedo borrar el punto.
Y el cursor me queda a la izquierda.
Pero eso lo solucionamos con este codigo

Text1.SelectionStart = Len(Text1.Text)

Si hay alguna manera de solucionar este problema Khristtian.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Como poner punto despues del primer cero en vb. net

Publicado por Pedro Lopez (14 intervenciones) el 10/05/2015 04:03:39
Fijate e la respuesta que envié al post anterior tal vez te sirva por que permite hacer lo que queres.
El titulo de ese post es "AGREGAR SOLO 2 NUMEROS DESPUES DEL PUNTO"
Te envio el modulo
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

"AGREGAR SOLO 2 NUMEROS DESPUES DEL PUNTO"

Publicado por Alonso (8 intervenciones) el 18/05/2015 00:31:55
Hey gracias Pedro.
Justo lo que quiero hacer.
Ya lo probe y me funciona de maravilla Excelente aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Como poner punto despues del primer cero en vb. net

Publicado por PEDRO ARNALDO (14 intervenciones) el 18/05/2015 13:36:50
Estimados
reenvio modulo más moderno (menos VB6)
El codigo es

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Module NUMEROSPAL
    Public CODIGOSEPARADOR As Char = System.Globalization.CultureInfo.CurrentUICulture.NumberFormat.CurrencyDecimalSeparator
 
    Public Sub PALNUMEROS(EV As KeyPressEventArgs, DECIMALES As Integer, TXB As TextBox)
REM se llama así
        ' Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        'PALNUMEROS(e, 2, sender)
        ' el 2 es la cantidad de decimales y se puede cambiar
        'End Sub
REM Fin de comentario
        If EV.KeyChar = Convert.ToChar(Keys.Return) Then
            EV.Handled = True
            TXB.Focus()
        ElseIf EV.KeyChar = "."c Or EV.KeyChar = ","c Then
            If (TXB.Text.IndexOf(","c) >= 0) Or (DECIMALES = 0) Then
                EV.Handled = True
            Else
                EV.KeyChar = CODIGOSEPARADOR  REM","c
            End If
        ElseIf EV.KeyChar = "-"c And TXB.TextLength = 0 Then
            EV.KeyChar = "-"c
        ElseIf TXB.Text.IndexOf(","c) > 0 Then
            If (TXB.Text.Length - TXB.Text.IndexOf(","c) > DECIMALES) And (TXB.SelectionStart > TXB.Text.IndexOf(","c)) And (Not (Char.IsControl(EV.KeyChar))) Then
                EV.Handled = True
            End If
        ElseIf Not (Char.IsControl(EV.KeyChar) Or Char.IsDigit(EV.KeyChar)) Then
            EV.Handled = True
        End If
    End Sub
End Module

Espero sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como poner punto despues del primer cero en vb. net

Publicado por Alonso (8 intervenciones) el 20/05/2015 19:49:26
Muy buenos código.
Ya probé los dos y funcionan muy bien pero me gusta más este último.

Gracia Pedro.
Excelente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar