golang - 像 php 的 ceil 函数?

标签 go ceil

我想返回大于或等于整数除法的最小整数值。于是我用了math.ceil,却得不到我想要的值。

package main

import (
    "fmt"
    "math"
)

func main() {
    var pagesize int = 10
    var length  int = 43

    d := float64(length / pagesize)
    page := int(math.Ceil(d))

    fmt.Println(page)
    // output 4 not 5
}

http://golang.org/pkg/math/#Ceil

http://play.golang.org/p/asHta1HkO_

怎么了? 谢谢。

最佳答案

线

d := float64(length / pagesize)

转换为 float 除法的结果。由于除法本身是整数除法,所以结果为 4,所以 d = 4.0 且 math.Ceil(d) 为 4。

替换该行
d := float64(length) / float64(pagesize)

您将拥有 d=4.3int(math.Ceil(d))=5

关于golang - 像 php 的 ceil 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19890935/

相关文章:

go - 如何获取OpenAPI服务器值

function - 如何定义返回 map 的函数

去选择 channel 并收集结果

c++ - 我可以信任 ceil() 结果的实数到整数的转换吗?

Java - 误解 ceil 和 Floor 方法

node.js - 当您的处理程序函数退出时,aws-lambda 中的 goroutines 会发生什么?

戈朗 : why does the word "hello" loop 5 times while the word "world" loops only 4?

python - 如何在 python 中找到最接近的等于或大于 10 的倍数

c++ - C++ 上限函数的奇怪结果

java - 为什么 math.pow 本身不能处理整数? (地板/天花板也是)