Ubah bilangan bulat menjadi bilangan float

127

Bagaimana cara mengubah nilai integer menjadi float64tipe?

Saya mencoba

float(integer_value)

Tapi ini tidak berhasil. Dan tidak dapat menemukan paket apa pun yang melakukan ini di Golang.org

Bagaimana cara mendapatkan float64nilai dari nilai integer?

Flimzy
sumber

Jawaban:

180

Tidak ada floattipe. Sepertinya Anda mau float64. Anda juga dapat menggunakan float32jika Anda hanya membutuhkan nilai floating point presisi tunggal.

package main

import "fmt"

func main() {
    i := 5
    f := float64(i)
    fmt.Printf("f is %f\n", f)
}
zmb
sumber
Perhatikan bahwa kompiler go tidak intuitif tentang hal ini. a := uint(8); b := uint(5); c := float32(a/b)akan cmenjadi 1,00000, bukan 1,6.
isomorfisma
34

Hanya demi kelengkapan, berikut ini tautan ke dokumentasi golang yang menjelaskan semua jenis . Dalam kasus Anda, ini adalah tipe numerik:

uint8       the set of all unsigned  8-bit integers (0 to 255)
uint16      the set of all unsigned 16-bit integers (0 to 65535)
uint32      the set of all unsigned 32-bit integers (0 to 4294967295)
uint64      the set of all unsigned 64-bit integers (0 to 18446744073709551615)

int8        the set of all signed  8-bit integers (-128 to 127)
int16       the set of all signed 16-bit integers (-32768 to 32767)
int32       the set of all signed 32-bit integers (-2147483648 to 2147483647)
int64       the set of all signed 64-bit integers (-9223372036854775808 to 9223372036854775807)

float32     the set of all IEEE-754 32-bit floating-point numbers
float64     the set of all IEEE-754 64-bit floating-point numbers

complex64   the set of all complex numbers with float32 real and imaginary parts
complex128  the set of all complex numbers with float64 real and imaginary parts

byte        alias for uint8
rune        alias for int32

Artinya, Anda perlu menggunakan float64(integer_value).

Salvador Dali
sumber
2

intutils.ToFloat32

// ToFloat32 converts a int num to a float32 num
func ToFloat32(in int) float32 {
    return float32(in)
}

// ToFloat64 converts a int num to a float64 num
func ToFloat64(in int) float64 {
    return float64(in)
}
Xian Shu
sumber
0

Type Conversions T () dimana T merupakan datatype yang diinginkan yang hasilnya cukup sederhana di GoLang.

Dalam program saya, saya memindai integer i dari input pengguna, melakukan konversi tipe di atasnya dan menyimpannya di variabel f . Outputnya mencetak float64setara dengan intinput. float32datatype juga tersedia di GoLang

Kode:

package main
import "fmt"
func main() {
    var i int
    fmt.Println("Enter an Integer input: ")
    fmt.Scanf("%d", &i)
    f := float64(i)
    fmt.Printf("The float64 representation of %d is %f\n", i, f)
}

Larutan:

>>> Enter an Integer input:
>>> 232332
>>> The float64 representation of 232332 is 232332.000000
Steffi Keran Rani J
sumber