C ++将double转换为long

时间:2015-09-27 07:34:13

标签: c++ double long-integer

我在我的程序中使用了pow(double base, double exponent),如何将答案转换为long数据类型?

2 个答案:

答案 0 :(得分:2)

只需使用以下陈述之一(取决于您的个人要求):

  1. lround(pow(base, exp));(结果的最接近数字)
  2. floor(pow(base, exp));(最接近的数字小于结果)
  3. ceil(pow(base, exp));(最接近的数字大于结果)

答案 1 :(得分:1)

我一直在寻找从双精度到长精度的实际转换。

经过研究,演员表确实可以达到目的:

double myDouble = 12.345;
long myTruncatedLong = (long) myDouble;

myTruncatedLong为12。