Maison > développement back-end > Golang > le corps du texte

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

王林
Libérer: 2024-02-10 12:48:09
avant
1041 Les gens l'ont consulté

为什么 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")
}
Copier après la connexion

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
Copier après la connexion

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 5x10<sup>1</sup>, ce qui est égal à +5.000000e+0015x10<sup>1</sup>,等于 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)
Copier après la connexion

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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal