Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que Go me donne ce résultat ?

Pourquoi est-ce que Go me donne ce résultat ?

王林
王林avant
2024-02-10 12:48:091015parcourir

为什么 go 给我这个结果?

L'éditeur php Xigua est là pour répondre à une question courante : "Pourquoi go me donne-t-il ce résultat ?" Le langage Go est un langage de programmation présentant les caractéristiques d'efficacité et de simplicité, et est largement utilisé dans les services réseau et le cloud computing. et d'autres domaines. Lors du développement en langage Go, vous rencontrez parfois des résultats inattendus. Cela peut être dû à des problèmes de logique de code, à des erreurs de traitement des données ou à des circonstances particulières. Comprendre les caractéristiques et les problèmes courants du langage Go peut aider les développeurs à mieux résoudre et déboguer les programmes et à améliorer l'efficacité du développement. Dans les articles suivants, nous répondrons à quelques questions courantes et partagerons quelques solutions et conseils.

Contenu de la question

Je réalise un programme pour calculer le pourcentage d'hommes et de femmes dans une classe. Mais cela me donne un résultat incorrect.

Le code est :

package main
import {
    "fmt"
}

var total, mujeres, hombres float64

func main() {
    fmt.printf("número de mujeres:")
    fmt.scanln(&mujeres)

    fmt.printf("número de hombres:")
    fmt.scanln(&hombres)

    total = mujeres + hombres
    mujeres = (mujeres / total) * 100
    hombres = (hombres / total) * 100

    print("en al salón de clases hay ", mujeres, "% de mujeres y ", 
        hombres, "% de hombres")
}

Le résultat obtenu lors de la saisie de deux quantités de 50 est :

En al salón de clases hay +5.000000+001% de mujeres y +5.000000+001% de hombres

Je veux savoir quelle est la cause de ce problème et comment le résoudre.

Solution

Au lieu de donner de mauvais résultats, il donne des résultats corrects dans un mauvais format. La valeur +5.000000e+001 est 5x102cdea26b4c3988e37d674b56660962a712eb235f530502820017cce1685312d59, ce qui est égal à +5.000000e+0015x102cdea26b4c3988e37d674b56660962a712eb235f530502820017cce1685312d59,等于 50.

Si vous souhaitez qu'ils soient dans un format différent de celui par défaut, vous devez préciser, par exemple :

fmt.Printf("En al salón de clases hay %.1f%% du mujeres y %.1f%% du hombres\n",
    mujeres, hombres)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer