Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Suite à la dicussion ICI,

j'ai été amené a trouvé une fonction pour générer des arrondis de nombres.

En effet (rtos) permet de faire des arrondis mais seulement après la virgule.

 

La fonction ci-dessous permet des arrondis de toutes sortes:

(defun round_number (xr n / )
(* (fix (atof (rtos (* xr n) 2 0))) n)
)

format d'appel (round_number [nombre] [précision]) NB: avec précision /= de zéro

exemple:

 

(round_number 1234.56789 (/ 1 25.0)) -> 1225.0 (arrondi à 25 unité la plus proche)

 

(rtos (round_number 1234.56789 (/ 1 0.001)) 2 8) -> "1234.56800000" (arrondi à 0.001 unité la plus proche)

alors que

(round_number 1234.56789 (/ 1 0.001)) -> 1234.57 (renvoyé à l'écran mais avec 1234.568 comme valeur calculé, preuve ci-dessus)

 

 

Qu'en pensez vous? Un autre moyen ? Une simplification possible?

Merci de vos commentaires.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité