Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ 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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse