题解 | #取近似值#
取近似值
https://www.nowcoder.com/practice/3ab09737afb645cc82c35d56a5ce802a
package main
import (
"fmt"
"math"
)
func main() {
var num float32
fmt.Scan(&num)
num = num + 0.5
// a := math.Floor(float64(num))
// fmt.Println(a)
fmt.Println(int(num))
}
可以使用math包中的Round函数来实现向上或向下取整。以下是一个示例程序:
package main
import (
"fmt"
"math"
)
func main() {
var num float64
fmt.Print("请输入一个正浮点数值:")
fmt.Scan(&num)
approx := math.Round(num)
fmt.Println("近似整数值为:", approx)
}
在上述示例中,我们首先通过fmt.Scan函数接受用户输入的浮点数值,并存储在变量num中。然后,使用math.Round函数对num进行近似取整,并将结果存储在变量approx中。最后,使用fmt.Println函数输出approx的值。
请注意,上述示例中使用了math包中的Round函数,该函数在Go 1.10及以上版本中可用。如果你的Go版本较低,可以自行编写一个取整函数,例如:
func round(num float64) int {
if num < 0 {
return int(num - 0.5)
}
return int(num + 0.5)}
然后在主程序中调用round函数即可。
package main
import (
"fmt"
"math"
)
func main() {
var num float64
fmt.Print("请输入一个正浮点数值:")
fmt.Scan(&num)
approx := math.Floor(num + 0.5)
fmt.Printf("近似整数值为:%d\n", int(approx))
}

