Maison  >  Article  >  développement back-end  >  Arrondissez un nombre à virgule flottante à une précision spécifiée à l'aide de la fonction math.Round

Arrondissez un nombre à virgule flottante à une précision spécifiée à l'aide de la fonction math.Round

PHPz
PHPzoriginal
2023-07-24 23:22:591480parcourir

Utilisez la fonction math.Round pour arrondir les nombres à virgule flottante à la précision spécifiée

Lorsque nous effectuons des calculs de nombres à virgule flottante, nous devons souvent arrondir les résultats à la précision spécifiée. Le package mathématique du langage Go fournit la fonction Round, qui peut facilement implémenter cette fonction. Cet article explique comment utiliser la fonction math.Round pour arrondir les nombres à virgule flottante avec une précision spécifiée et fournit des exemples de code. Le prototype de la fonction

math.Round est le suivant :

func Round(x float64) float64

La fonction Round reçoit un nombre à virgule flottante x en paramètre et renvoie un résultat arrondi à l'entier le plus proche. Le résultat est un nombre à virgule flottante, du même type que x. Si x est un entier, la fonction Round renvoie x directement sans aucune modification. Si x est un demi-entier (c'est-à-dire que la partie décimale est 0,5), alors la fonction Round l'arrondit au nombre pair le plus proche. Sinon, la fonction Round arrondit x à l’entier le plus proche.

En plus de la fonction Round ci-dessus, le package mathématique fournit également la fonction RoundToEven, qui se comporte fondamentalement de la même manière que la fonction Round. La seule différence est que pour les demi-entiers, la fonction RoundToEven les arrondit au nombre pair le plus proche. Dans cet article, nous nous concentrons principalement sur l’utilisation de la fonction Round.

Voici un exemple simple qui montre comment utiliser la fonction math.Round pour arrondir un nombre à virgule flottante à une précision spécifiée :

package main

import (
    "fmt"
    "math"
)

func main() {
    x := 3.14159
    precision := 2

    rounded := math.Round(x*math.Pow(10, float64(precision))) / math.Pow(10, float64(precision))

    fmt.Printf("原始值:%f
", x)
    fmt.Printf("四舍五入到%d位小数:%f
", precision, rounded)
}

Dans l'exemple ci-dessus, nous avons défini un nombre à virgule flottante x et une précision précision. Nous multiplions d'abord x par 10 élevé à la puissance de précision, puis appelons la fonction Round pour arrondir le résultat. Enfin, on divise le résultat par 10 élevé à la puissance de précision pour restaurer la précision d'origine.

Exécutez le code ci-dessus et le résultat est le suivant :

Valeur originale : 3,141590
Arrondi à 2 décimales : 3,14

Comme vous pouvez le voir, nous avons réussi à arrondir le nombre à virgule flottante 3,14159 à 2 décimales.

Résumé : 
Grâce à la fonction math.Round, nous pouvons facilement arrondir les nombres à virgule flottante avec une précision spécifiée. Avant d'utiliser la fonction Round, nous devons effectuer les opérations de multiplication et de division appropriées pour garantir l'exactitude du calcul de précision. Pour des scénarios plus complexes, nous pouvons également ajuster et étendre en fonction des besoins réels.

J'espère que cet article vous sera utile pour utiliser la fonction math.Round pour l'arrondi en virgule flottante !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn