Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Float64 dengan Elegan kepada Int dalam Go?

Bagaimana untuk Menukar Float64 dengan Elegan kepada Int dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-10 10:05:15856semak imbas

How to Elegantly Convert Float64 to Int in Go?

Menukar Float64 kepada Int dalam Go: Pendekatan Elegan

Apabila bekerja dengan nilai titik terapung dalam Go, tugas menukarnya kepada integer boleh timbul. Walaupun pakej strconv menawarkan penukaran antara rentetan dan pelbagai jenis data, ia tidak mempunyai penukaran langsung antara jenis bukan rentetan.

Penukaran Terus dengan Int Cast

Satu penyelesaian yang elegan ialah untuk menggunakan operator int cast. Ia menukar pembolehubah float64 dengan selamat kepada perwakilan integer terdekat. Pertimbangkan contoh di bawah:

import "fmt"

func main() {
  var x float64 = 5.7
  var y int = int(x)
  fmt.Println(y) // outputs "5"
}

Dalam kod ini, kami mencipta pembolehubah float64 x dengan nilai 5.7. Pembolehubah y diisytiharkan sebagai int dan memberikan nilai x menggunakan cast int. Keputusan menunjukkan bahawa y memegang nilai integer 5, memotong bahagian pecahan x dengan berkesan.

Perbandingan dengan Sprintf

Pelakon int menyediakan kaedah langsung dan cekap untuk menukar float64 kepada int, menghapuskan keperluan untuk penukaran rentetan perantaraan melalui fmt.Sprintf. Pendekatan ini menyelaraskan proses penukaran dan mengelakkan potensi kehilangan data disebabkan oleh had aritmetik titik terapung.

Kesimpulan

Untuk penukaran yang mudah dan tepat daripada float64 kepada int dalam Go, pengendali int cast muncul sebagai pilihan optimum. Ia menawarkan penyelesaian yang mudah dan cekap untuk tugas penukaran data biasa ini.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Float64 dengan Elegan kepada Int dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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