在 Go 中是否有一个标准类型来进行“精确除法”?

问题描述 投票:0回答:1

我想在go中做一些“精确划分”。有标准类型吗?

例如,我想存储值“1/3”和“2/3”并能够将它们相加。

我可以这样定义我自己的类型:

type MyType struct {
    Numerator   int
    Denominator int
}

并定义如下函数:

func (a MyType) Plus(b MyType) MyType {
    d := a.Denominator * b.Denominator
    n := (a.Numerator * b.Denominator) + (b.Numerator * a.Denominator)

    return MyType{Numerator: n, Denominator: d}
}

但是可能有一种更优雅的方法可以做到这一点,或者已经可以做到这一点的“标准类型”。

go arithmetic-expressions
1个回答
0
投票

我不知道

big.Rat
。这就是我所需要的!谢谢你的帮助

© www.soinside.com 2019 - 2024. All rights reserved.