|
|
@ -12,6 +12,12 @@ func (d Decimal) String() string {
|
|
|
|
return d.floatValue.String()
|
|
|
|
return d.floatValue.String()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Int64 输出 int64
|
|
|
|
|
|
|
|
func (d Decimal) Int64() int64 {
|
|
|
|
|
|
|
|
i64, _ := d.floatValue.Int64()
|
|
|
|
|
|
|
|
return i64
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Float64 输出 float64
|
|
|
|
// Float64 输出 float64
|
|
|
|
func (d Decimal) Float64() float64 {
|
|
|
|
func (d Decimal) Float64() float64 {
|
|
|
|
rat, _ := new(big.Rat).SetString(d.String())
|
|
|
|
rat, _ := new(big.Rat).SetString(d.String())
|
|
|
@ -60,7 +66,14 @@ func (Decimal) pointLength(a any) int {
|
|
|
|
|
|
|
|
|
|
|
|
// IsInteger 是否为整数
|
|
|
|
// IsInteger 是否为整数
|
|
|
|
func (d Decimal) IsInteger(d2 float64) bool {
|
|
|
|
func (d Decimal) IsInteger(d2 float64) bool {
|
|
|
|
f3 := NewFloat(d.Float64()).QuoFloat(NewFloat(d2).Float64()).Float64()
|
|
|
|
if d2 > 0 {
|
|
|
|
|
|
|
|
f3 := NewFloat(d.Float64()).QuoFloat(NewFloat(d2).Float64()).Float64()
|
|
|
|
|
|
|
|
if f3 == math.Trunc(f3) {
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return false
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
f3 := NewFloat(d.Float64()).Float64()
|
|
|
|
if f3 == math.Trunc(f3) {
|
|
|
|
if f3 == math.Trunc(f3) {
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|