在c / ++中将float转换为两个int

时间:2013-05-12 14:55:16

标签: c++ casting

NOT A DUPLICATE :上面提到的重复,将小数部分返回到浮点数,而不是int

鉴于我有一个浮动1.495我如何将其转换为1495给定两个int变量rd 。其中:

int r == 1;
int d == 495;

我可以使用

获得第一个
int r = (int)(1.495f-1l);

但我不确定如何投射或获得d值。

注意我不确定小数部分的范围,小数部分可以是.49.495.4959

如果值为.0495.00495,我可以将返回的值设置为495,我原本没有想到这一点。 < / p>

由于

1 个答案:

答案 0 :(得分:5)

float f = 1.5;
int r = f;
int d = (f-r)*1000;

<强>更新

为了清楚起见,虽然这回答了海报上最初提到的问题,但现在并没有解决问题。