none
¿Cómo le doy formato a una cadena para eliminar los ceros? (explico) RRS feed

  • Pregunta

  • Suponiendo que tengo esta cadena con valores parecidos a:

    cDuracion = "00:03:15"

    cDuracion = "05:03:15"

    cDuracion = "00:00:15"

    Deseo que al visualizar:

    MessageBox(cDuracion)

    En el primer caso (o sea cuando las horas son cero) que se visualice como: "03:15" 

    En el segundo caso (cuando las horas son distintas de cero) que se visualice tal cual "05:03:15"

    En el tercer caso que visualice: "00:15"

    En otras palabras que omita en la visualización solo las horas cuando estas son 00.

    Algo más o menos así para aplicar el formato: 

    cDuracion.ToString(AQUI EL FORMATO)

    O si no, de la forma que fuere.

    viernes, 6 de noviembre de 2020 23:17

Respuestas

Todas las respuestas

  • Deleted
    • Marcado como respuesta James2016-2 sábado, 7 de noviembre de 2020 1:13
    viernes, 6 de noviembre de 2020 23:55
  • Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim cDuracion = "00:03:15"
    
            Dim ts = TimeSpan.Parse(cDuracion)
            TextBox1.Text = ts.ToString(If(ts.Hours = 0, "mm\:ss", "hh\:mm\:ss"))
    
            cDuracion = "15:03:15"
            ts = TimeSpan.Parse(cDuracion)
            TextBox2.Text = ts.ToString(If(ts.Hours = 0, "mm\:ss", "hh\:mm\:ss"))
    
            TextBox3.Text = FormatoDuracion("00:00:15")
        End Sub
    
        Function FormatoDuracion(tiempo As String) As String
    
            Dim ts = TimeSpan.Parse(tiempo)
            Return ts.ToString(If(ts.Hours = 0, "mm\:ss", "hh\:mm\:ss"))
    
        End Function
    End Class

    Gracias. Con la función más práctico.
    sábado, 7 de noviembre de 2020 1:13
  • Hola,

     

    gracias por confirmar que encontraste una respuesta a tu pregunta.

     

    Saludos cordiales

     

    Gabriel Castro

    lunes, 9 de noviembre de 2020 14:06
    Moderador