Go Down

Topic: Détection de la virgule dans un float (Read 858 times) previous topic - next topic

Jean-François

Encore une de mes questions....  ;D

Est il possible de détecter la position de la virgule dans un float.

par exemple :

354.4809

La valeur retournée serait 4 (position depuis le début du nombre) ou 5 (position depuis la fin du nombre).
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

QNux

2 solutions : soit regarder la mantisse (exposant) du flottant (plus d'infos ici sur la représentation d'un flottant simple précision : http://en.wikipedia.org/wiki/Single_precision_floating-point_format )

Ou alors un algo simple :

soit x ton nombre, i la position de la virgule

[font=Courier New]i = 0
tant que x > 1
 x = x / 10.0
 i++
fin tant que

retourne i[/font]

Voilà !  ;)

-- QNux
 

Jean-François

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

fdufnews

#3
Jan 09, 2011, 06:13 pm Last Edit: Jan 09, 2011, 06:13 pm by fdufnews Reason: 1
La partie entière du log décimal d'un nombre permet de trouver la position de la virgule.

Go Up