检索double的小数部分

时间:2012-01-27 09:28:16

标签: c

  

可能重复:
  Extract decimal part from a floating point number in C

我想以最有效的方式检索double的小数部分。

这样的事情:

double a = 1.5;
double decimal_part = a -1 ; // decimal_part = 0.5

如何以非常有效的方式检索和存储变量.5(a的小数部分)?

3 个答案:

答案 0 :(得分:5)

使用modf功能:

double integer_part;
double decimal_part = modf(a, &integer_part);

答案 1 :(得分:1)

使用modf的{​​{1}}功能math.hdouble modff

float

答案 2 :(得分:0)

double a = 5.6;
double f = a - int(a); // int(a) chops off fraction

你必须确保范围是正确的st int不会溢出。