首页 >后端开发 >Golang >为什么 go 给我这个结果?

为什么 go 给我这个结果?

王林
王林转载
2024-02-10 12:48:091055浏览

为什么 go 给我这个结果?

php小编西瓜在这里为大家解答一个常见问题:“为什么 go 给我这个结果?”Go语言是一种编程语言,具有高效、简洁的特点,被广泛应用于网络服务、云计算等领域。在使用Go语言进行开发时,有时会遇到一些意外的结果。这可能是因为代码逻辑问题、数据处理错误或者是某些特殊情况导致的。理解Go语言的特性和常见问题,能帮助开发者更好地解决和调试程序,提高开发效率。在接下来的文章中,我们将为大家解答一些常见问题,并分享一些解决方案和技巧。

问题内容

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

代码是:

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+0015x102cdea26b4c3988e37d674b56660962a712eb235f530502820017cce1685312d59,等于 +5.000000e+0015x102cdea26b4c3988e37d674b56660962a712eb235f530502820017cce1685312d59,等于 50

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

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

以上是为什么 go 给我这个结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除