none
(Visual Studio 2008) Impression d'un nombre négatif avec StringFormatFlags.DirectionRightToLeft RRS feed

  • Question

  • Bonjour,

    J'ai un nombre négatif

    Par exemple wNombre as decimal =-12.34

    Quand je l'insert dans la DatgridView, avec Format(wNombre,"#0.00€")

    Je visualise bien -12.34€

    Par contre, quand je fais une impression

    Dim DroiteGauche As New StringFormat

    DroiteGauche.FormatFlags = StringFormatFlags.DirectionRightToLeft

    …//…

    ev.Graphics.DrawString(Format(wDifference, "#0.00€"), New Font("Times New Roman", 10, FontStyle.Regular), Brushes.Black, wEntX + 700, wEntY, DroiteGauche)…//…

    J'obtient : 12,34€-

    Je fais ceci pour avoir les nombres cadrés à droite, donc alignés

    Mais avec le signe négatif qui se met à droite du nombre, ce n'est plus le cas

    J'ai essayé de contourner le problème en passant par un String

    WNombreString as string = Format(wNombre,"#0.00€")

    J'ai bien -12,34€

    Mais quand je fais :

    ev.Graphics.DrawString(wDifferenceString, New Font("Times New Roman", 10, FontStyle.Regular), Brushes.Black, wEntX + 700, wEntY, DroiteGauche)

    Cela ne change rien. J'ai toujours 12,34€-

    Comment faire ?

    Cordialement

    SC

    Cordialement SC

    lundi 27 janvier 2014 14:30

Réponses

  • Bonjour,

    DroiteGauche.FormatFlags = StringFormatFlags.DirectionRightToLeft

    Cette option est à utiliser pour la prise en charge des écritures de droite à gauche (arabe).

    Dans votre cas, si vous souhaitez mettre le nombre à droite, il suffit d'utiliser l'option suivante :

    DroiteGauche.Alignment = StringAlignment.Far

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 27 janvier 2014 23:27
    Modérateur

Toutes les réponses

  • Bonjour,

    DroiteGauche.FormatFlags = StringFormatFlags.DirectionRightToLeft

    Cette option est à utiliser pour la prise en charge des écritures de droite à gauche (arabe).

    Dans votre cas, si vous souhaitez mettre le nombre à droite, il suffit d'utiliser l'option suivante :

    DroiteGauche.Alignment = StringAlignment.Far

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 27 janvier 2014 23:27
    Modérateur
  • Bonjour,

    Merci bien

    Mais pourquoi est-ce que je ne n'ai pas sut trouver ?

    Pas assez bon ....

    Cordialement

    SC


    Cordialement SC

    mardi 28 janvier 2014 07:07