1 Star 3 Fork 0

未名/gocalendar

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
utils.go 1.18 KB
一键复制 编辑 原始数据 按行查看 历史
未名 提交于 4年前 . v1.1.0 初始
package gocalendar
import (
"math"
"strings"
)
// Pow x的整数n次方
func Pow(x float64, n int) float64 {
if x == 0 {
return 0
}
result := calPow(x, n)
if n < 0 {
result = 1 / result
}
return result
}
func calPow(x float64, n int) float64 {
if n == 0 {
return 1
}
if n == 1 {
return x
}
// 向右移动一位
result := calPow(x, n>>1)
result *= result
// 如果n是奇数
if n&1 == 1 {
result *= x
}
return result
}
// Round 四舍五入保留prec位小数
func Round(n float64, prec int) float64 {
e := math.Pow10(prec)
return math.Round(n*e) / e
// fs := fmt.Sprintf("%."+strconv.Itoa(prec)+"f",n)
// r,err := strconv.ParseFloat(fs,64)
// if err != nil {
// return 0
// }
// return r
}
// B2i bool转int
//
// true=>1,false=>0
func B2i(b bool) int {
if b {
return 1
}
return 0
}
// I2b int转bool
//
// 0=>false,other=>true
func I2b(i int) bool {
return i != 0
}
// StringSplice 字符串拼接
func StringSplice(str ...string) string {
var builder strings.Builder
var totalLength int
for _, s := range str {
totalLength += len(s)
builder.WriteString(s)
}
if totalLength != builder.Len() {
return ""
}
return builder.String()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/phpu/gocalendar.git
git@gitee.com:phpu/gocalendar.git
phpu
gocalendar
gocalendar
master

搜索帮助