Aller au contenu

Fonction arrondir un nombre


bonuscad

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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é