我正在制作一个程序来计算班级中男性和女性的百分比。但它给了我一个不正确的结果。
代码是:
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+001
为 5x10<sup>1</sup>
,等于 50
。
如果您希望它们的格式与默认格式不同,则需要指定,例如:
fmt.Printf("En al salón de clases hay %.1f%% du mujeres y %.1f%% du hombresn", mujeres, hombres)