在 Go 语言中,时间包提供了确定和查看时间的功能。 Go 语言中的Round()函数用于查找将规定的持续时间“d”四舍五入为“m”持续时间的最接近倍数的结果。这里,中间值的舍入方式是远离0舍入。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。
句法:
func (d Duration) Round(m Duration) Duration
这里,d 是四舍五入的持续时间,m 是最接近的倍数。
返回值:如果结果超过可以存储在持续时间内的最大(或最小)值,则返回最大(或最小)持续时间。但如果 m 小于或等于 0,则返回未更改的 ‘d’。
示例 1:
// Golang program to illustrate the usage of
// Round() function
// Including main package
package main
// Importing fmt and time
import (
"fmt"
"time"
)
// Calling main
func main() {
// Defining duration
// of Round method
d, _ := time.ParseDuration("5m7s")
// Prints rounded d
fmt.Printf("Rounded d is : %s",
d.Round(6*time.Second))
}
输出:
Rounded d is : 5m6s
此处,“d”四舍五入为 m 的最接近倍数。
示例 2:
// Golang program to illustrate the usage of
// Round() function
// Including main package
package main
// Importing fmt and time
import (
"fmt"
"time"
)
// Calling main
func main() {
// Defining duration of Round method
d, _ := time.ParseDuration("3m73.671s")
// Array of m
R := []time.Duration{
time.Microsecond,
time.Second,
3 * time.Second,
9 * time.Minute,
}
// Using for loop and range to
// iterate over an array
for _, m := range R {
// Prints rounded d of all
// the items in an array
fmt.Printf("Rounded(%s) is : %s\n",
m, d.Round(m))
}
}
输出:
Rounded(1µs) is : 4m13.671s
Rounded(1s) is : 4m14s
Rounded(3s) is : 4m15s
Rounded(9m0s) is : 0s
在这里,首先形成一个 ‘d’ 数组,然后使用一个范围来迭代 d 的所有值。最后使用 Round() 方法打印 d 的所有舍入值。