Di Golang, operasi bahagi perlu memberi perhatian kepada cara perpuluhan dikekalkan. Secara lalai, golang akan membundarkan perpuluhan secara automatik dan hasilnya akan hampir tidak terhingga dan bukannya sama dengan hasil yang dijangkakan. Dalam sesetengah senario yang memerlukan pengiraan yang tepat, seperti sistem kewangan, ketepatan selepas titik perpuluhan perlu dipastikan, jadi perlu untuk mengekalkan perpuluhan.
Golang menyediakan beberapa kaedah untuk melaksanakan operasi pengekalan perpuluhan. Dalam artikel ini, kami akan meneroka kaedah ini dan kebaikan dan keburukannya.
Kaedah 1: Gunakan fungsi Printf bagi pakej fmt
Pakej fmt ialah kaedah output berformat yang disediakan di Golang. Fungsi Printf boleh menggunakan rentetan format untuk menentukan format output, termasuk mengekalkan bilangan tempat perpuluhan. Berikut ialah contoh:
utama pakej
import (
"fmt"
)
func main() {
a := 3 b := 2 c := float64(a) / float64(b) fmt.Printf("%.2f", c)
}
Kod ini akan mengeluarkan nilai c, mengekalkan dua tempat perpuluhan. Ini adalah kaedah yang cepat dan mudah, tetapi ia tidak menyimpan hasilnya ke dalam pembolehubah.
Kaedah 2: Gunakan fungsi ParseFloat bagi pakej strconv
Pakej strconv ialah pakej pemprosesan rentetan yang disediakan di Golang. Fungsi ParseFloat boleh menukar rentetan kepada nombor titik terapung dan menentukan bilangan titik perpuluhan. Berikut ialah contoh:
utama pakej
import (
"fmt" "strconv"
)
func main() {
a := 3 b := 2 c := float64(a) / float64(b) f, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", c), 64) fmt.Println(f)
}
Dalam kod ini, kami menggunakan fungsi fmt.Sprintf untuk memformat nilai c ke dalam rentetan dengan dua tempat perpuluhan, dan kemudian gunakan fungsi strconv.ParseFloat untuk menukar kepada nombor titik terapung. Kaedah ini menyimpan hasil kepada pembolehubah tetapi memerlukan langkah pemprosesan tambahan untuk memformat nombor titik terapung.
Kaedah 3: Gunakan fungsi Bulat pakej matematik
Fungsi Bulat ialah fungsi pembundaran yang disediakan dalam Golang, yang boleh membundarkan nombor titik terapung kepada bilangan tempat perpuluhan yang ditentukan. Berikut ialah contoh:
utama pakej
import (
"fmt" "math"
)
func main() {
a := 3 b := 2 c := float64(a) / float64(b) f := math.Round(c*100) / 100 fmt.Println(f)
}
Dalam kod ini, kami menggunakan fungsi matematik.Bulat untuk membundarkan nilai c kepada dua tempat perpuluhan, dan kemudian membahagikannya dengan 100 untuk mendapatkan hasil akhir. Kaedah ini menyimpan hasil kepada pembolehubah dan tidak memerlukan pemformatan tambahan.
Ringkasan
Di atas ialah tiga cara untuk mengekalkan perpuluhan di Golang. Mereka masing-masing mempunyai kelebihan dan kekurangan masing-masing, dan mereka perlu dipilih mengikut keperluan sebenar apabila menggunakannya. Dalam senario yang melibatkan pengiraan kewangan yang memerlukan ketepatan, adalah disyorkan untuk menggunakan Kaedah 2 dan Kaedah 3 untuk memastikan ketepatan keputusan.
Atas ialah kandungan terperinci Bahagian Golang mengekalkan perpuluhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!