par exemple, je peux utiliser System.Math.Round((float),2)
pour arrondir mon flotteur à 2 décimales les plus proches, mais est de toute façon en F # que je peux Rafle mon flotteur à 2 décimales des endroits? MerciF # arrondissent à un certain nombre de décimales
Répondre
solution hackish pour arrondir
let round x d =
let rounded = Math.Round(x,d)
if rounded < x then x + Math.Pow(10,-d) else rounded
Pour arrondir (strictement, plutôt que de quelques pas de zéro):
let roundUp x d =
Math.Round(x + Math.pow(10,-d)/2,d)
0,001 à l'arrondissement Envisager 2DP. Vous voulez que cela arrondir à 0,01:
0.001 + 0.01/2 = 0.006
-> 2dp: 0.01
Ceci est dérivé d'une manière commune pour obtenir l'arrondissement normal de troncature; pour ajouter la moitié de la précision nécessaire et tronquer. Ceci, cependant, souffre de nombres négatifs, donc le delta doit être soustrait ou ajouté en fonction du signe de la valeur d'origine.
Notez que si vous arrondissez toujours, les montants négatifs sont arrondis à zéro. Dans les situations financières où 2dp est habituellement nécessaire, c'est une mauvaise idée car un solde de 0,021 est arrondi à 0,03, mais un solde de -0,021 est arrondi à -0,02, et cela commence à compter si vous calculez un débit ou un crédit. . Si vous le faites symétriquement, par ex. toujours loin de zéro, alors tu ne t'en soucies plus.
C'est même pire que ça - avec le comportement RoundToEven par défaut, certains nombres déjà arrondis sont instables. Par exemple, roundUp 1.05 2 produira 1.06. Vous devez utiliser MidPointRounding.AwayFromZero dans votre Round et vous assurer que vous arrondissez toujours les nombres négatifs. – Lamarth
- 1. Comment calculer une valeur à un certain nombre de décimales?
- 2. Comment tronquer un nombre à virgule flottante après un certain nombre de décimales (pas d'arrondi)?
- 3. avec un certain nombre SI Prefix, avec un nombre fixe de décimales
- 4. Comment formater le nombre à un certain nombre de décimales plus des séparateurs de virgules?
- 5. Affichage d'un nombre flottant à un nombre de décimales
- 6. Nombre de décimales (Swift)
- 7. Manière automatisée d'afficher jusqu'à un certain nombre de décimales en fonction de la valeur du nombre
- 8. La plupart des façons Python d'imprimer * au maximum * un certain nombre de décimales
- 9. titre du tracé de limite à afficher uniquement un certain nombre de décimales
- 10. méthode pour arrondir à un certain nombre de décimales, selon une variable
- 11. Comment arrondir une valeur à un certain nombre de décimales, en Python?
- 12. Arrondir un nombre à 2 décimales échoue
- 13. générer un nombre aléatoire à 2 décimales
- 14. Exiger un certain nombre de décimales fractionnaires avec un schéma XML
- 15. Comment arrondir nombre à 2 décimales
- 16. Comment retourner un nombre à virgule flottante avec un nombre défini de décimales?
- 17. Nombre de décimales flottantes
- 18. nombre force à 3 décimales
- 19. mise en forme des décimales pour afficher un certain nombre de caractères
- 20. La meilleure façon d'arrondir un nombre en javascript pour un certain décimales
- 21. Nombre de décimales - jQuery
- 22. Afficher la valeur d'un certain nombre de décimales dans un formulaire utilisateur VBA
- 23. Obtenir les variations décimales sur un nombre
- 24. Obtenir un certain nombre de chiffres
- 25. Python: concaténer un certain nombre de boucles
- 26. Comment arrondir un nombre à 10 décimales correctes dans Matlab
- 27. Supprimer un certain nombre de caractères après un certain caractère
- 28. supérieur à un certain nombre sql
- 29. chiffres append à un certain nombre - Matlab
- 30. XPath Éléments inférieurs à un certain nombre
Cela fonctionne, merci. – user1934312
Ergh, une branche si juste pour arrondir? Ajoutez la moitié de la précision requise puis tournez, sûrement! –