go语言 float32 / float64
时间: 2024-11-22 08:27:35 浏览: 23
Go语言支持`float32`和`float64`类型的浮点数操作。它们的区别在于精度:`float32`通常用于内存效率更高的场景,而`float64`提供更高的精度。以下是两个转换示例:
1. `float64`转`int`[^2]:
```go
// 假设我们有一个float64类型的变量f
f := 3.14159
// 使用strconv包的ParseInt将float64转换为int,可能会丢失小数部分
var i int
_, err := strconv.ParseInt(fmt.Sprintf("%d", f), 10, 64)
if err == nil {
i = int(f)
// 注意,i现在只有整数部分,即3
} else {
fmt.Println("转换失败:", err)
}
```
2. `float32`转`string`[^1]:
```go
// 假设我们有float32类型的var f32 float32 = 1.2345f
str := fmt.Sprintf("%f", f32) // 输出 "1.234500"
```
相关问题
go语言float64相加
可以直接使用"+"运算符进行相加,例如:
```go
var x float64 = 2.5
var y float64 = 3.7
sum := x + y
fmt.Println(sum) // 输出:6.2
```
请注意,float类型相加时可能会出现精度误差,建议使用math包中的函数进行精确计算。
go语言Int转float64
可以使用 float64 函数将 int 类型转换为 float64 类型,示例代码如下:
```
var numInt int = 10
var numFloat float64 = float64(numInt)
```
在上面的代码中,将 numInt 变量从 int 类型转换为 float64 类型,并将结果存储在 numFloat 变量中。
阅读全文