首页 > 文章列表 > go 给我这个结果的原因是什么?

go 给我这个结果的原因是什么?

448 2024-02-06
问题内容

我正在制作一个程序来计算班级中男性和女性的百分比。但它给了我一个不正确的结果。

代码是:

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")
}

输入 50 的两个数量时得到的输出是:

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

我想知道是什么原因导致这个问题以及如何解决它。


正确答案


它没有给出错误的结果,而是以错误的格式给出了正确结果。 +5.000000e+0015x10<sup>1</sup>,等于 50

如果您希望它们的格式与默认格式不同,则需要指定,例如:

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