Mengapa pergi memberikan saya keputusan ini?

王林
Lepaskan: 2024-02-10 12:48:09
ke hadapan
1014 orang telah melayarinya

为什么 go 给我这个结果?

Editor PHP Xigua berada di sini untuk menjawab soalan biasa: "Mengapa go memberikan saya hasil ini bahasa Go ialah bahasa pengaturcaraan dengan ciri kecekapan dan kesederhanaan, dan digunakan secara meluas dalam perkhidmatan rangkaian dan pengkomputeran awan?" dan bidang lain. Apabila membangunkan dalam bahasa Go, kadangkala anda menghadapi beberapa hasil yang tidak dijangka. Ini mungkin disebabkan oleh masalah logik kod, ralat pemprosesan data, atau beberapa keadaan khas. Memahami ciri dan masalah biasa bahasa Go boleh membantu pembangun menyelesaikan dan menyahpepijat program dengan lebih baik serta meningkatkan kecekapan pembangunan. Dalam artikel berikut, kami akan menjawab beberapa soalan biasa dan berkongsi beberapa penyelesaian serta petua.

Kandungan soalan

Saya sedang membuat program untuk mengira peratusan lelaki dan perempuan dalam sesebuah kelas. Tetapi ia memberi saya hasil yang salah.

Kodnya ialah:

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")
}
Salin selepas log masuk

Output yang diperoleh apabila memasukkan dua kuantiti 50 ialah:

En al salón de clases hay +5.000000+001% de mujeres y +5.000000+001% de hombres
Salin selepas log masuk

Saya ingin tahu apa yang menyebabkan masalah ini dan bagaimana untuk memperbaikinya.

Penyelesaian

Daripada memberikan hasil yang salah, ia memberikan hasil betul dalam format yang salah. Nilai +5.000000e+001 ialah 5x10<sup>1</sup>, yang sama dengan +5.000000e+0015x10<sup>1</sup>,等于 50.

Jika anda mahu mereka berada dalam format yang berbeza daripada lalai, anda perlu menentukan, sebagai contoh:

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

Atas ialah kandungan terperinci Mengapa pergi memberikan saya keputusan ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!