5

我正在使用 boost 多精度库,更准确地说是 boost::multiprecision::float128 类型。使用 ICPC 进行编译时,我在尝试执行以下操作时遇到一些错误:

double a = functionA();

其中 functionA() 返回一个 boost::multiprecision::float128 变量。

error: no suitable conversion function from "boost::multiprecision::float128" to "double" exists|

我该如何解决这个问题?

4

1 回答 1

14

来自 Boost 文档:

可以通过 convert_to 成员函数将数字转换为任何内置类型:

mpz_int z(2);
double i = z.convert_to<double>(); // sets i to 2

http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html

于 2015-01-30T18:03:17.583 回答