在C中分离分数和整数

时间:2013-01-20 18:12:19

标签: c++ c

我需要将整数和小数部分与小数分开,如4.343。

我们在C / C ++中是否有任何给出小数点位置的函数。得到之后我想我们可以使用atoi函数转换为数字。

谢谢!

3 个答案:

答案 0 :(得分:5)

如果4.343是字符串,请查看strchr

#include <string.h>

char src[] = "4.343";

char *p = strchr(src, ".");

然后您可以使用atoi,如下所示。

#include <stdlib.h>

if (p != NULL)
{
  *p = '\0';
  res = atoi(src);
}

答案 1 :(得分:4)

你可以使用floor()函数来获取整数部分,然后对于分数只是从原始值中减去整数部分......

答案 2 :(得分:1)

您还可以使用scanf或其亲属fscanf和sscanf

提取数据
scanf("%d.%d",&a,&b);

然后a的位数等于位置。分数和整数部分也存储以备将来使用

相关问题