是否有可以用作变量的粗俗部分?
例如:我想要将整数1和3分开。int
的结果为0,因为double
结果为0,333333333
。但是,我希望结果正好是1/3
,然后在程序中的其他方程式中使用它。
是否有类似于整数(int
),十进制(double
),e.t.c的变量。 (正在以类似的方式声明和使用)?或者我必须自己制作一个?
起初我在想如何自己做,但我失败了。
谢谢!
答案 0 :(得分:10)
不是核心语言,但有些库,例如boost::Rational。
答案 1 :(得分:9)
我不确定你问的是什么,但看看Boost.Rational。
有了它,您可以编写如下代码:
#include <boost/rational.hpp>
boost::rational<int> one(1);
boost::rational<int> three(3);
boost::rational<int> one_third(one / three);
答案 2 :(得分:2)
现在stl中没有有理数,它将成为c0x中stl的一部分 - upcomming c ++ standart。您可以尝试boost,也可以自己写。