Formatage des données

1 - Les chaînes de caractères

1 - Les fonctions de transformation

Voici quelques unes des propriétés et méthodes de la classe String les plus utiles.

a.Chars(i) Renvoie le caractère qui se trouve à la position "i" de la chaîne "a". Le premier est à la position 0.
a.Lenght Renvoie la longueur de la chaîne "a"
a.CompareTo(b) Compare la chaîne "a" avec la chaîne "b" et renvoie une valeur négative si a est inférieur à b, 0 si a=b ou une valeur positive si a est supérieur à b
a.Equals(b) Compare les chaînes "a" et "b", et renvoie "True" si elles sont identiques.
a.StartsWith(b)

a.EndsWith(b)
Ces deux méthodes déterminent si la chaîne "a" commence ou se termine par la chaîne "b". Une valeur booleénne est renvoyée.
a.PadLeft(l, c)

a.PadRight(l, c)
Ajoute à gauche, ou à droite, de la chaîne "a" autant de caractères "c" que nécessaire pour obtenir une chaîne de longueur "l". Si "c" est omis, c'est l'espace qui sert de caractère de remplissage.
a.Remove(x, l) Supprime dans la chaîne "a", à partir du caractère x, une sous-chaîne de longueur "l".
a.Replace(x, y) Remplace dans la chaîne "a" toutes les sous-chaînes "x" par des sous-chaînes "y".
x.ToString Le nombre x représenté sous forme d'une chaîne de caractères
a.ToUpper
a.ToLower
La chaîne "a" mise en majuscules
La chaîne "a" mise en minuscules
a.TrimStart
a.TrimEnd
a.trim
La chaîne "a" débarrassée des espaces avant
La chaîne "a" débarrassée des espaces arrière
La chaîne "a" débarrassée des espaces avant et arrière
a.SubString(x,y) Une partie de la chaîne "a" commençant au caractère x (le 1er caratère porte le n° 0) et de longueur y (y peut être omis).

2 - Des restes de Visual Basic 6

Je n'ai pas trouvé l'équivalent en .net. Les fonctions suivantes sont pourtant bien utiles.

Chr(65) renvoie "A", le caractère ASCII du nombre passé en paramètre
Asc("A") renvoie 65, La valeur ASCII du caractère passé en paramètre
Val("45") renvoie 45, La valeur numérique de la chaîne passée en paramètre. La transformation s'arrête au 1er caractère non reconnaissable.

3 - Quelques valeurs importantes

Chr(8) Retour chariot
Chr(13) Entrée
Chr(32) Espace
Chr(44) Virgule
Chr(46) Point

4 - Remplacer un caractère directement lors de la saisie

Dans le code ci-dessous, e.Handled = True empêche le caractère souhaité (le point) de s'afficher. On le remplace par une virgule (caractère 44), puis on repositionne correctement le curseur de saisie.
Private Sub txtMontant_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles txtMontant.KeyPress
  Select Case e.KeyChar
    Case "."
      e.Handled = True
      txtMt.text &= Chr(44)
      txtMt.SelectionStart = 999
  End Select
End Sub

2 - Les nombres

Une expression numérique peut être différemment formatée suivant la valeur du paramètre N.
Dim Valeur As Integer = 123456
Label.Text = String.format("{0:N}", Valeur)
Paramètre Signification Résultat
G Général 123456
N Numeric 123 456,00
C Currency 123 456,00 €
E Scientific 1,234560E+005
P Pourcentage 12 345 600,00 %

3 - Les dates

Obtenir une information de date.
ToDay donne les informations jour, mois, année.
Now est plus précis. Il indique en plus les heures, minutes et secondes.

lblDate.Text = DateTime.Today.Year

Formatage d'une date. Le "D" permet d'obtenir la date au format long.

lblDate.Text = String.Format("{0:D}", DateTime.Now)

Le code suivant permet un formatage spécifique. Attention pour le formatage du mois, il faut utiliser un "M" majuscule. Le "m" minuscule désigne les minutes.

lblDate.Text = String.Format("{0:dd MMM}, DateTime.Now)

Il est possible d'inclure des textes à l'intérieur des crochets en les encadrant avec des guillemets simples. Sans ces précautions, les lettres 'D' de Date et 'H' de Heure, dans l'exemple ci-dessous, seraient traduites en données formatées.

LblDate.Text = String.Format("{0:'Date : 'dd MMM yyyy - 'Heure : ' HH:mm:ss}", DateTime.Now)

4 - Les conversions de types

On peut transformer un type de données en un autre en utilisant les fonctions suivantes :

CBool, CByte, CChar, CDate, CDbl, CDec, CInt, CLng, CObj, CShort, CSng, CStr

Par exemple : Le code suivant transforme une valeur de type texte en une date (à condition, bien sur, que le texte puisque être transformé).

CDate(MonTexte.text)



Statistiques :      Conformité :  Valid XHTML 1.1 © Christian Soulié
Dernière mise à jour le 11 avril 2010.
Boîtes de dialogue -  Périphériques