La commande String retourne sous forme de chaîne alphanumérique l'expression de type numérique, Date, Heure, chaîne ou Booléen que vous avez passée dans le paramètre expression.
Si vous ne passez pas le paramètre optionnel format, la chaîne est retournée dans le format par défaut du type de données correspondant. Si vous passez le paramètre format, vous pouvez définir suivant vos besoins le formatage de la chaîne retournée.
Le paramètre optionnel heureComb permet d'ajouter une heure à une date dans un format combiné. Il est utilisable uniquement lorsque le paramètre expression est une date (voir ci-dessous).
Expressions numériques
Si expression est du type numérique (Réel, Entier, Entier long), vous pouvez passer le paramètre optionnel de formatage de la chaîne. Voici quelques exemples :
Exemple | Résultat | Commentaire |
String(2^15) | "32768" | Format par défaut |
String(2^15;"### ##0 habitants") | "32 768 habitants" |
String(1/3;"##0.00000") | "0,33333" |
String(1/3) | "0,3333333333333" | Format par défaut(*) |
String(Arctan(1)*4) | "3,14159265359" | Format par défaut(*) |
String(Arctan(1)*4;"##0.00") | "3,14" |
String(-1;"&x") | "0xFFFFFFFF" |
String(-1;"&$") | "$FFFFFFFF" |
String(0 ?+ 7;"&x") | "0x0080" |
String(0 ?+ 7;"&$") | "$80" |
String(0 ?+ 14;"&x") | "0x4000" |
String(0 ?+ 14;"&$") | "$4000" |
String(50,3;"&xml") | "50.3" | Toujours "." comme séparateur décimal |
String(Num(1=1);"Vrai;;Faux") | "Vrai" |
String(Num(1=2);"Vrai;;Faux") | "Faux" |
String(Log(-1)) | "" | Nombre indéfini |
String(1/0) | "INF" | Nombre infini positif |
String(-1/0) | "-INF" | Nombre infini négatif |
(*) A compter de 4D v14 R3, l'algorithme de conversion des réels en texte se base sur 13 chiffres significatifs (contre 15 dans les versions précédentes de 4D).
Le format est défini de la même manière que pour un champ numérique dans un formulaire. Pour plus d'informations sur le formatage des numériques, reportez-vous à la section Formats d'affichage du manuel "Mode Développement" de 4D. Vous pouvez également passer le nom d'un style personnalisé dans format. Dans ce cas, le nom du style doit être précédé du caractère “|”.
Expressions de type Date
Si expression est de type Date, la chaîne est retournée dans le format par défaut défini dans le système. Vous pouvez passer dans le paramètre format une des constantes décrites ci-dessous (thème Formats d'affichage des dates).
Dans ce cas, vous pouvez également passer une heure dans le paramètre heureComb. Ce paramètre vous permet de combiner une date et une heure afin de générer des marqueurs de temps conformes aux normes en vigueur (constantes ISO Date GMT et Date RFC 1123). Ces formats sont particulièrement utiles dans le contexte des traitements XML et Web. Le paramètre heureComb est utilisable uniquement lorsque le paramètre expression est une date.
Constante |
Type |
Valeur |
Comment |
Blank if null date |
Entier long |
100 |
"" au lieu de 0 en cas de valeur nulle. Cette constante doit être additionnée au format d'affichage. |
Date RFC 1123 |
Entier long |
10 |
Fri, 10 Sep 2010 13:07:20 GMT |
Internal date abbreviated |
Entier long |
6 |
6 déc 1996 |
Internal date long |
Entier long |
5 |
6 décembre 2006 |
Internal date short |
Entier long |
7 |
06/12/2006 |
Internal date short special |
Entier long |
4 |
06/12/06 (mais 06/12/1896 ou 06/12/2096) |
ISO Date |
Entier long |
8 |
2006-06-12T00:00:00 (format obsolète) |
ISO Date GMT |
Entier long |
9 |
2010-09-13T16:11:53Z |
System date abbreviated |
Entier long |
2 |
mer. 25 déc. 2006 |
System date long |
Entier long |
3 |
mercredi 6 décembre 2006 |
System date short |
Entier long |
1 |
06/12/2006 |
Note : Les formats peuvent varier en fonction des paramétrages système.
Voici quelques exemples de formats simples (en supposant que la date du jour est le jeudi 5 mars 2009) :
$vsRésultat:=String(Date du jour)
$vsRésultat:=String(Date du jour;Interne date long)
$vsRésultat:=String(Date du jour;ISO Date GMT)
Notes sur les formats combinés date/heure :
Expressions de type Heure
Si expression est de type Heure, la chaîne est retournée dans le format par défaut hh:mm:ss. Vous pouvez passer dans le paramètre format une des constantes suivantes (thème Formats d'affichage des heures) :
Constante |
Type |
Valeur |
Comment |
Blank if null time |
Entier long |
100 |
"" au lieu de 0 |
HH MM |
Entier long |
2 |
01:02 |
HH MM AM PM |
Entier long |
5 |
1:02 du matin |
HH MM SS |
Entier long |
1 |
01:02:03 |
Hour min |
Entier long |
4 |
1 heure 2 minutes |
Hour min sec |
Entier long |
3 |
1 heure 2 minutes 3 secondes |
ISO time |
Entier long |
8 |
0000-00-00T01:02:03 |
Min sec |
Entier long |
7 |
62 minutes 3 secondes |
MM SS |
Entier long |
6 |
62:03 |
System time long |
Entier long |
11 |
1:02:03 AM HNEC (Mac uniquement) |
System time long abbreviated |
Entier long |
10 |
1•02•03 AM (Mac uniquement) |
System time short |
Entier long |
9 |
01:02:03 |
Notes :
- Le format ISO Time correspond à la norme ISO8601, contenant en principe une date et une heure. Ce format ne prenant pas en charge les dates/heures combinées, la partie date est remplie avec des 0. Ce format exprime l'heure locale.
- La constante Blank if null time doit être additionnée au format, elle indique qu'en cas de valeur nulle 4D doit retourner une chaîne vide au lieu de zéros.
Voici quelques exemples (en supposant qu'il soit 17h30 et 45 secondes) :
$vsRésultat:=String(Heure courante)
$vsRésultat:=String(Heure courante;Heures Minutes Secondes)
Expressions de type chaîne
Si expression est de type Alpha ou Texte, la commande retourne la même valeur que celle passée en paramètre. Ce fonctionnement est utile notamment dans le cadre d’une programmation générique utilisant des pointeurs.
Dans ce cas, le paramètre format, s'il est passé, est ignoré.
Expressions de type Booléen
Si expression est de type Booléen, la commande retourne la chaîne “Vrai” ou “Faux” dans la langue de l’application (“True” ou “False” dans une version anglaise de 4D).
Dans ce cas, le paramètre format, s'il est passé, est ignoré.