C ++将双精度转换为长整数

问题描述 投票:-2回答:2

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

c++ double long-integer
2个回答
1
投票

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

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

0
投票

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

经过一番研究,演员表确实可以解决问题:

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

myTruncatedLong将为12。

© www.soinside.com 2019 - 2024. All rights reserved.