none
FORMAT ( valor positivo o negativo) RRS feed

  • Pregunta

  • Buen dia .

    Se puede dar un FORMAT a mi campo diferencia?  Format(dtVPrecios.Rows(i)("diferencia"), "##0.000").ToString  el error sucede cuando es negativo me devuelve "##0.000" hay alguna forma de agregarle 00 ala izquierda ?  el dato puede ser negativo o positivo


    Pasa los puntos prro v:

    miércoles, 23 de agosto de 2017 17:41

Respuestas

  • Entiendo que obtienes como resultado el formato '##0.000' porque el tipo de la columna 'diferencia' es string y no un tipo numérico como se esperaría. La primera sugerencia es que cambies el tipo y en caso de no ser factible debes convertir el valor a un tipo numérico para hacer efectivo el formateo.

    Format(Convert.ToDecimal(dtVPrecios(i)("diferencia")), "##0.000")

    La función Format() retorna un tipo String, así que no necesitas insistir con el método ToString() al final tal como el ejemplo que adjuntaste.

    En lo personal preferiría utilizar el formato N3: 

    Convert.ToDecimal(dtVPrecios(i)("diferencia")).ToString("N3")


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    miércoles, 23 de agosto de 2017 18:04

Todas las respuestas

  • Entiendo que obtienes como resultado el formato '##0.000' porque el tipo de la columna 'diferencia' es string y no un tipo numérico como se esperaría. La primera sugerencia es que cambies el tipo y en caso de no ser factible debes convertir el valor a un tipo numérico para hacer efectivo el formateo.

    Format(Convert.ToDecimal(dtVPrecios(i)("diferencia")), "##0.000")

    La función Format() retorna un tipo String, así que no necesitas insistir con el método ToString() al final tal como el ejemplo que adjuntaste.

    En lo personal preferiría utilizar el formato N3: 

    Convert.ToDecimal(dtVPrecios(i)("diferencia")).ToString("N3")


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    miércoles, 23 de agosto de 2017 18:04
  • Hola AUTIS, como poder se puede el tema que ya no sería un valor sino un string, si no te influye en las siguientes operaciones puedes adoptar ej;

        Dim Valor As Double = -0.8
            If Valor < 0 Then
                Dim i As String = Mid(Valor, 3, 4)
                Dim a As String = "-00"
                Valor = a & i
                Dim Nvalor As String = a & i
                MsgBox(Nvalor)
            End If
    'Resultado: -00.8

    Es la idea puede haber una mejor función para llegar al resultado

    Saludos

    miércoles, 23 de agosto de 2017 18:06
  • Ya habia hecho una resta entre las 2 fechas el resultado deberia ser un numero  pense que no era necesario hacer un  Convert .

    Pasa los puntos prro v:

    miércoles, 23 de agosto de 2017 20:22