none
format sans arrondis RRS feed

Réponses

  • Pourquoi, rien ne t'empèches de tronquer puis de formater. Je prends un exemple

    Private Function FormatTronque(ByVal Nombre As Double, ByVal strFormat As String) As String

        Dim strNombre As String = Nombre.ToString

        Dim PosDecimal As Integer = strNombre.IndexOf(".")

        Dim PosDecFormat As Integer = strFormat.IndexOf(".")

        If PosDecimal > -1 Then

            If strNombre.Length - PosDecimal > strFormat.Length - PosDecFormat Then

                strNombre = strNombre.Substring(0, strNombre.Length - ((strNombre.Length - PosDecimal) - (strFormat.Length - PosDecFormat)))

            End If

        End If

        Return Format(CDbl(strNombre), strFormat)

    End Function

    Ta fonction attends donc un nombre et la chaine de format, un exemple d'appel serait :

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        MsgBox(FormatTronque(CDbl(Me.TextBox1.Text), "# ##0.00"))

    End Sub

    Et dans ce cas tu aurais bien la troncature et le formatage.

    Bon c'est un peu codé avec une pelle parce que je l'ai fais vite mais il y a moyen de faire un truc propre pour obtenir ton résultat

    mardi 5 décembre 2006 14:05

Toutes les réponses

  • La méthode format arrondi toujours les nombres. Il faut écrire une fonction qui tronque au lieu d'arrondir
    lundi 4 décembre 2006 10:09
  • oui, mais le format n'est pas respécté avec une fonction qui tronque les nombres?

     

    mardi 5 décembre 2006 13:16
  • Pourquoi, rien ne t'empèches de tronquer puis de formater. Je prends un exemple

    Private Function FormatTronque(ByVal Nombre As Double, ByVal strFormat As String) As String

        Dim strNombre As String = Nombre.ToString

        Dim PosDecimal As Integer = strNombre.IndexOf(".")

        Dim PosDecFormat As Integer = strFormat.IndexOf(".")

        If PosDecimal > -1 Then

            If strNombre.Length - PosDecimal > strFormat.Length - PosDecFormat Then

                strNombre = strNombre.Substring(0, strNombre.Length - ((strNombre.Length - PosDecimal) - (strFormat.Length - PosDecFormat)))

            End If

        End If

        Return Format(CDbl(strNombre), strFormat)

    End Function

    Ta fonction attends donc un nombre et la chaine de format, un exemple d'appel serait :

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        MsgBox(FormatTronque(CDbl(Me.TextBox1.Text), "# ##0.00"))

    End Sub

    Et dans ce cas tu aurais bien la troncature et le formatage.

    Bon c'est un peu codé avec une pelle parce que je l'ai fais vite mais il y a moyen de faire un truc propre pour obtenir ton résultat

    mardi 5 décembre 2006 14:05
  • ça marche ,merci .

     

    dimanche 10 décembre 2006 17:47