Warum liefert mir go dieses Ergebnis?

王林
Freigeben: 2024-02-10 12:48:09
nach vorne
1038 Leute haben es durchsucht

为什么 go 给我这个结果?

php-Editor Xigua ist hier, um eine häufig gestellte Frage zu beantworten: „Warum liefert mir Go dieses Ergebnis?“ Die Go-Sprache ist eine Programmiersprache mit den Merkmalen Effizienz und Einfachheit und wird häufig in Netzwerkdiensten und Cloud Computing verwendet. und anderen Bereichen. Bei der Entwicklung in der Go-Sprache kommt es manchmal zu unerwarteten Ergebnissen. Dies kann durch Code-Logikprobleme, Datenverarbeitungsfehler oder besondere Umstände verursacht werden. Das Verständnis der Merkmale und häufigen Probleme der Go-Sprache kann Entwicklern helfen, Programme besser zu lösen und zu debuggen und die Entwicklungseffizienz zu verbessern. In den folgenden Artikeln beantworten wir einige häufig gestellte Fragen und geben einige Lösungen und Tipps weiter.

Frageninhalt

Ich erstelle ein Programm, um den Anteil von Männern und Frauen in einer Klasse zu berechnen. Aber es gibt mir ein falsches Ergebnis.

Der Code lautet:

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")
}
Nach dem Login kopieren

Die Ausgabe, die man erhält, wenn man zwei Mengen von 50 eingibt, ist:

En al salón de clases hay +5.000000+001% de mujeres y +5.000000+001% de hombres
Nach dem Login kopieren

Ich möchte wissen, was dieses Problem verursacht und wie man es beheben kann.

Problemumgehung

Anstatt falsche Ergebnisse zu liefern, liefert es richtige Ergebnisse im falschen Format. Der -Wert +5.000000e+001 ist 5x10<sup>1</sup>, was gleich +5.000000e+0015x10<sup>1</sup>,等于 50 ist.

Wenn Sie möchten, dass sie in einem anderen Format als dem Standardformat vorliegen, müssen Sie beispielsweise Folgendes angeben:

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

Das obige ist der detaillierte Inhalt vonWarum liefert mir go dieses Ergebnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage