Go语言 为什么围棋会给予我这个结果?

mu0hgdu0  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(165)

我正在编一个程序来计算班上男女生的比例,但是它给了我一个不正确的结果。
代码为:

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

我想知道这个问题的原因和解决方法。

qni6mghb

qni6mghb1#

它没有给出不正确的结果,而是以不正确的格式给出了 correct 结果。value+5.000000e+0015x101,等于50
如果希望它们的格式与默认格式不同,则需要指定,例如使用:

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

相关问题