C++粗俗分数

Ale*_*rov 4 c++ variables

是否有一个可以用作变量的粗俗部分?

例如:我想将整数1和3分开.结果为int0,double结果为0,333333333.但是,我希望结果是准确的1/3,然后在程序中的其他方程中使用它.

是否有一个类似于integer(int),decimal(double)等的变量(以类似的方式声明和使用)?或者我必须自己制作一个?

起初我在想如何自己做,但我失败了.

谢谢!

Pon*_*gge 10

不是核心语言,而是有库,比如boost :: Rational.


Man*_*rse 9

我不确定你问的是什么,但看看Boost.Rational.

有了它,您可以编写如下代码:

#include <boost/rational.hpp>
boost::rational<int> one(1);
boost::rational<int> three(3);
boost::rational<int> one_third(one / three);
Run Code Online (Sandbox Code Playgroud)