小编use*_*000的帖子

将理性施法提高一倍

使用以下针对 boost 1.62 编译的代码:

#include <boost/rational.hpp>
#include <iostream>

int main() {
    auto val = boost::rational<int64_t>(499999, 2);
    std::cout << val << std::endl;
    std::cout << boost::rational_cast<double>(val) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

499999/2
250000
Run Code Online (Sandbox Code Playgroud)

我希望 Rational_cast 输出 249999.5 谁能解释我做错了什么?

c++ rational-number boost

3
推荐指数
1
解决办法
1087
查看次数

标签 统计

boost ×1

c++ ×1

rational-number ×1