Micro, milli, kilo, mega, etc...

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Micro, milli, kilo, mega, etc...

Message par Ollivier »

Code : Tout sélectionner

Procedure.S ISU(X.D)
 S = Sign(X)
 X = Abs(X)
 Y = Log10(X)
 Z = (Y + 8) / 3 + 1
 ProcedureReturn StrD(X * Pow(10, 3 * (4 - Z) ) * S) + StringField("nano;micro;milli;;kilo;mega;giga", Z, ";")
EndProcedure
Exemple:

Code : Tout sélectionner

Define x.D
For i = 1 to 20
 x = Random(999) * Pow(10, Random(18) - 9)
 Debug StrD(x) + "    " + ISU(x)
Next
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Micro, milli, kilo, mega, etc...

Message par Kwai chang caine »

Bon c'est sûr on est pas noyé sous les commentaires :mrgreen:
Mais sympas ton code qui permet de convertir en une unité textuelle, après j'ai pas trop compris comment il la choisie..
Merci pour le partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Micro, milli, kilo, mega, etc...

Message par Ollivier »

Kcc a écrit :après j'ai pas trop compris comment il la choisie..
Ben il la choisit de manière à ce que la lecture de la valeur fasse moins mal au crâne.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Micro, milli, kilo, mega, etc...

Message par Kwai chang caine »

Ah d'accord !!! il est trop gentil ton code de penser à nos pauvres cerveaux trop souvent malmenés :D
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre