golang 浮点数向下取整
时间: 2023-09-03 07:15:24 浏览: 49
在 Go 中,可以使用 math.Floor 函数来实现浮点数向下取整。示例如下:
```go
package main
import (
"fmt"
"math"
)
func main() {
num := 3.7
result := math.Floor(num)
fmt.Println(result) // 输出 3
}
```
注意,math.Floor 函数的返回值类型为 float64。如果需要将结果转换为整型,可以使用强制类型转换。例如:
```go
package main
import (
"fmt"
"math"
)
func main() {
num := 3.7
result := int(math.Floor(num))
fmt.Println(result) // 输出 3
}
```
相关问题
golang截取浮点数
在 Go 中截取浮点数可以使用 `math.Trunc` 或 `strconv.FormatFloat` 函数。
1. 使用 math.Trunc 函数:
```go
import "math"
func Truncate(f float64, n int) float64 {
pow10 := math.Pow10(n)
return math.Trunc(f*pow10) / pow10
}
// 示例
f := 3.1415926
n := 3
result := Truncate(f, n)
fmt.Printf("%.3f", result) // 输出: 3.141
```
2. 使用 strconv.FormatFloat 函数:
```go
import "strconv"
func Truncate(f float64, n int) float64 {
s := strconv.FormatFloat(f, 'f', n, 64)
r, _ := strconv.ParseFloat(s, 64)
return r
}
// 示例
f := 3.1415926
n := 3
result := Truncate(f, n)
fmt.Printf("%.3f", result) // 输出: 3.141
```
以上两种方式都可以实现浮点数的截取,具体使用哪种方式取决于你的需求。
golang循环向数据库添加数据
你可以使用 Go语言中的 database/sql 包来实现向数据库中循环添加数据的操作。以下是一个简单的示例代码:
```go
// 先建立数据库连接
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 循环插入数据
for i := 0; i < 10; i++ {
// 准备 SQL 语句,使用 ? 占位符
stmt, err := db.Prepare("INSERT INTO table_name (column1, column2) VALUES (?, ?)")
if err != nil {
log.Fatal(err)
}
// 执行插入操作
_, err = stmt.Exec("value1", i)
if err != nil {
log.Fatal(err)
}
// 关闭语句对象
stmt.Close()
}
```
在上面的代码中,我们首先建立了一个数据库连接,然后使用 for 循环来插入数据。在每次循环中,我们首先准备 SQL 语句,并使用 ? 占位符来代替实际的值。然后,我们执行 Exec() 方法来执行插入操作,并传入实际的值。最后,我们关闭语句对象,以释放资源。