如何将整数值转换为float64
类型?
我试过了
float(integer_value)
但这不起作用。并且在Golang.org上找不到任何可以执行此操作的包
如何float64
从整数值中获取值?
如何将整数值转换为float64
类型?
我试过了
float(integer_value)
但这不起作用。并且在Golang.org上找不到任何可以执行此操作的包
如何float64
从整数值中获取值?
没有float
类型。看起来像你想要float64
的。float32
如果您只需要一个单精度浮点值,您也可以使用。
package main
import "fmt"
func main() {
i := 5
f := float64(i)
fmt.Printf("f is %f\n", f)
}
只是为了完整起见,这里是描述所有类型的 golang 文档的链接。在您的情况下,它是数字类型:
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
这意味着您需要使用float64(integer_value)
.
// 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)
}
正确放置括号是关键:
package main
import (
"fmt"
)
func main() {
var payload uint32
var fpayload float32
payload = 1320
// works
fpayload = float32(payload) / 100.0
fmt.Printf("%T = %d, %T = %f\n", payload, payload, fpayload, fpayload)
// doesn't work
fpayload = float32(payload / 100.0)
fmt.Printf("%T = %d, %T = %f\n", payload, payload, fpayload, fpayload)
}
结果:
uint32 = 1320,float32 = 13.200000
uint32 = 1320,float32 = 13.000000
类型转换T()其中T是结果的所需数据类型,在 GoLang 中非常简单。
在我的程序中,我从用户输入中扫描一个整数i,对其执行类型转换并将其存储在变量f中。输出打印输入的float64
等价物int
。float32
数据类型在 GoLang 中也可用
代码:
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)
}
解决方案:
>>> Enter an Integer input:
>>> 232332
>>> The float64 representation of 232332 is 232332.000000