github.com/zooyer/miskit@v1.0.71/utils/math/math.go (about)

     1  /**
     2   * @Author: zzy
     3   * @Email: zhangzhongyuan@didiglobal.com
     4   * @Description:
     5   * @File: math.go
     6   * @Package: maths
     7   * @Version: 1.0.0
     8   * @Date: 2021/12/15 7:46 下午
     9   */
    10  
    11  package math
    12  
    13  import (
    14  	"math"
    15  )
    16  
    17  // Ceil 向上取整, 保留n位小数
    18  func Ceil(f float64, n int) float64 {
    19  	pow := math.Pow10(n)
    20  	ceil := math.Ceil(f * pow)
    21  	return math.Trunc(ceil) / pow
    22  }
    23  
    24  // Floor 向下取整, 保留n位小数
    25  func Floor(f float64, n int) float64 {
    26  	pow := math.Pow10(n)
    27  	floor := math.Floor(f * pow)
    28  	return math.Trunc(floor) / pow
    29  }
    30  
    31  // Round 四舍五入, 保留n位小数
    32  func Round(f float64, n int) float64 {
    33  	pow := math.Pow10(n)
    34  	round := math.Round(f * pow)
    35  	return math.Trunc(round) / pow
    36  }