题解 | #取近似值#

取近似值

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))
}

全部评论

相关推荐

淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
10-02 19:29
已编辑
浙江科技大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务