package gn

import (
	"math"
)

func RoundToNDecimals(num float64, decimals int) float64 {
	if decimals < 0 {
		return num
	}
	factor := math.Pow(10, float64(decimals))
	return math.Round(num*factor) / factor
}

// IsEven 判断 num 是否为偶数
func IsEven[T int | uint](num T) bool {
	return num&1 == 0
}

// IsDivisible 判断 a 是否可以被 b 整除
func IsDivisible[T int | uint](a, b T) bool {
	// 检查 b 是否为 0, 除数不能为 0
	if b == 0 {
		return false
	}
	return a%b == 0
}
