⇨ MENU ⇨ BIBLIOTHEQUE ⇨ fnusing.bbc
FNusing()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ fnusing.bbc
FNusing()
DESCRIPTION.
La fonction FNusing() retourne une chaine de caractères en convertissant une valeur numérique et en lui appliquant un format donné.
SYNTAXE.
kchaine$ = FNusing( format , valeur )
REMARQUES.
format doit être une suite de certains symboles, dans une chaine de caractères, exprimant le format d'affichage de valeur. Voir ci-dessous les symboles de formatage disponibles.
valeur doit une valeur numérique quelconque mais valide, qui doit être affichée avec la forme imposée par format.
Le caractère dièse (#) sert à représenter la position d'un chiffre. Les positions des chiffres sont toujours renseignées.
- si la partie entière comporte moins de chiffres que le nombre de positions spécifié, elle est justifiée à droite, précédé d'espaces ;
- si la partie entière comporte plus de chiffres que le nombre de positions spécifié, une suite de ? est retournée ;
- le point décimale peut être insérée à n'importe quelle position ;
- la partie décimale sera arrondis si besoin.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "###.##" , 1234 ) : REM - retourne ??????
PRINT FNusing( "###.##" , 123.4 ) : REM - retourne 123.40
PRINT FNusing( "###.##" , 12.34 ) : REM - retourne 12.34
PRINT FNusing( "###.##" , 1.234 ) : REM - retourne 1.23
PRINT FNusing( "###.##" , .1234 ) : REM - retourne 0.12
PRINT FNusing( "######.######" , 1234.56 ) : REM - retourne 1234.560000
kchaine$ = FNusing( "###.##" , 123.4 ) : PRINT kchaine$ : REM - retourne 123.40
kformat$ = "###.##" : kvaleur = 123.4 : PRINT FNusing( kformat$ , kvaleur ) : REM - retourne 123.40
Le caractère plus (+) au début ou à la fin de format permet d'afficher, au début ou à la fin de la chaine retournée :
- le signe plus (+) si valeur est positif ou 0 ;
- le signe moins (-) si valeur est négatif.
INSTALL @lib$ + "fnusing.bbc"
ka = 12 : kb = 3.4
PRINT FNusing( "+###.##" , ( ka - kb ) ) : REM - retourne +8.60
PRINT FNusing( "+###.##" , ( kb - ka ) ) : REM - retourne -8.60
PRINT FNusing( "+###.##" , ( ka * 0 ) ) : REM - retourne +0.00
PRINT FNusing( "###.##+" , ( ka - kb ) ) : REM - retourne 8.60+
PRINT FNusing( "###.##+" , ( kb - ka ) ) : REM - retourne 8.60-
PRINT FNusing( "###.##+" , ( ka * 0 ) ) : REM - retourne 0.00+
Le caractère moins (-) à la fin de format permet d'afficher les nombres négatifs avec un signe moins final. Par exemple :
INSTALL @lib$ + "fnusing.bbc"
ka = 12 : kb = 3.4
PRINT FNusing( "###.##-" , ( ka - kb ) ) : REM - retourne 8.60
PRINT FNusing( "###.##-" , ( kb - ka ) ) : REM - retourne 8.60-
PRINT FNusing( "###.##-" , ( ka * 0 ) ) : REM - retourne 0.00
Le caractère étoile (*) au début de format permet d'afficher un caractère étoile devant la chaine retournée.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "*###.##" , 1234 ) : REM - retourne *??????
PRINT FNusing( "*###.##" , 123.4 ) : REM - retourne *123.40
PRINT FNusing( "*###.##" , 12.34 ) : REM - retourne * 12.34
PRINT FNusing( "*###.##" , 1.234 ) : REM - retourne * 1.23
PRINT FNusing( "*###.##" , .1234 ) : REM - retourne * 0.12
PRINT FNusing( "*######.######" , 1234.56 ) : REM - retourne * 1234.560000
Deux caractères étoiles (**) au début de format permet de remplacer les chiffres de la partie entière manquants par des caractères étoiles.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "**###.##" , 123456 ) : REM - retourne ????????
PRINT FNusing( "**###.##" , 12345.6 ) : REM - retourne 12345.60
PRINT FNusing( "**###.##" , 1234.56 ) : REM - retourne *1234.56
PRINT FNusing( "**###.##" , 123.456 ) : REM - retourne **123.45
PRINT FNusing( "**###.##" , 12.3456 ) : REM - retourne ***12.34
PRINT FNusing( "**###.##" , 1.23456 ) : REM - retourne ****1.23
PRINT FNusing( "**###.##" , .123456 ) : REM - retourne *****0.12
Le caractère dollars ($) ou caractères livres (£) permet d'afficher le symbole choisi, au début de la chaine retournée et avant les espaces remplaçant les chiffres de la partie entière manquants.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "$###.##" , 1234.56 ) : REM - retourne $??????
PRINT FNusing( "$###.##" , 123.456 ) : REM - retourne $123.45 ( où . remplace les espaces reellement retournes)
PRINT FNusing( "$###.##" , 12.3456 ) : REM - retourne $.12.34 ( où les . remplace les espaces reellement retournes)
PRINT FNusing( "£###.##" , 1234.56 ) : REM - retourne â£?????? ( ? sur la distribution pour Raspberry)
PRINT FNusing( "£###.##" , 123.456 ) : REM - retourne â£123.45 ( ? sur la distribution pour Raspberry)
PRINT FNusing( "£###.##" , 12.3456 ) : REM - retourne â£.12.34 ( ? sur la distribution pour Raspberry)
Deux caractères dollars ($$) ou deux caractères livres (££) permet d'afficher le symbole choisi, devant le premier chiffre de la partie entière.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "$$###.##" , 1234.56 ) : REM - retourne $1234.56
PRINT FNusing( "$$###.##" , 123.456 ) : REM - retourne .$123.45..$12.34 ( où . remplace les espaces reellement retournes)
PRINT FNusing( "$$###.##" , 12.3456 ) : REM - retourne ..$12.34 ( où les . remplace les espaces reellement retournes)
PRINT FNusing( "££###.##" , 1234.56 ) : REM - retourne â£â£?????? ( ? sur la distribution pour Raspberry)
PRINT FNusing( "££###.##" , 123.456 ) : REM - retourne â£â£123.45 ( ? sur la distribution pour Raspberry)
PRINT FNusing( "££###.##" , 12.3456 ) : REM - retourne â£â£12.34 ( ? sur la distribution pour Raspberry)
Le caractères virgules (,) permet de placer des virgules pour séparer les chiffres de la partie entières par groupe de trois.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "#,###,###.##" , 1234567 ) : REM - retourne 1,234,567.00
PRINT FNusing( "#,###,###.##" , 123456.7 ) : REM - retourne ..123,456.70 ( où . remplace les espaces reellement retournes)
PRINT FNusing( "#,###,###.##" , 12345.67 ) : REM - retourne ...12,345.67 ( où . remplace les espaces reellement retournes)
PRINT FNusing( "#,###,###.##" , 12.34567 ) : REM - retourne .......12.35 ( où . remplace les espaces reellement retournes)
PRINT FNusing( "#,###,###.##" , .01234567 ) : REM - retourne ........0.01 ( où . remplace les espaces reellement retournes)
PRINT FNusing( "##,##,##,#.##" , 1234567 ) : REM - retourne .1,234,567.00 ( où . remplace les espaces retournes)
Deux caractères chapeaux (^^^^) indique que valeur sera exprimée en notation scientifique.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "###.##^^^^" , 1234.56 ) : REM - retourne 1.23E3
PRINT FNusing( "###.##^^^^" , 123.456 ) : REM - retourne 1.23E2
PRINT FNusing( "###.##^^^^" , -123.456 ) : REM - retourne -1.23E2
PRINT FNusing( "###.##^^^^" , ( .000001 ) ) : REM - retourne 1.00E-6
PRINT FNusing( "###.##^^^^" , ( 10 / 3 ) ) : REM - retourne 3.33E0
PRINT FNusing( "###.##^^^^" , ( -1 / .33 ) ) : REM - retourne -3.03E0
PRINT FNusing( "###.##^^^^" , ( 10 ^ 3 ) ) : REM - retourne 1.00E3
Si format contient d'autres symboles, autres que ceux indiqués ci dessus, après ou avant les symboles de formatages des nombres, ils seront insérés tel quel dans la chaine de caractères retournée.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "Age : ### ans." , 45 ) : REM - retourne Age : .45 ans.
PRINT FNusing( "###,###.### metres" , 1234.5678 ) : REM - retourne 1,234.567 metres.
PRINT FNusing( "###,### m et .### mm" , 1234.5678 ) : REM - retourne 1,234 m et .### mm
Le format donné par l'appel d'une FNusing() ne s'applique qu'a la valeur numérique placée dans ce même appel. Il faudra donc faire plusieurs appel de la fonction FNusing() si l'on souhaite afficher plusieurs valeurs numérique formatées.
INSTALL @lib$ + "fnusing.bbc"
PRINT FNusing( "###.##" , 1234 ) FNusing( "###.##" , 12.34 ) FNusing( "###.##" , .12 ) : REM - retourne ?????? 12.34 0.12
kformat$ = "###.##"
PRINT FNusing( kformat$ , 1234 ) FNusing( kformat$ , 12.34 ) FNusing( kformat$ , .12 ) : REM - retourne ?????? 12.34 0.12
kchaine$ = FNusing( kformat$ , 1234 ) + FNusing( kformat$ , 12.34 ) + FNusing( kformat$ , .12 )
PRINT kchaine$ : REM - retourne ?????? 12.34 0.12
La fonction FNusing() est importée depuis le module fnusing.bbc.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "fnusing.bbc"
REM --- Formatage d'une valeur ---
PRINT FNusing( "BBC BASIC for SDL #.#" , 2 )
REM --- Fin du programme ---
PRINT : PRINT "Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.