首页 > 解决方案 > 如何在浮点数中提取小数点后的数字并存储在char数组中

问题描述

我提到了下面的问题,但我需要提取小数点后的数字并存储在char *array

1.如何将float存储在float[]数组中

2.在python中提取float中的数字

前任:

 float = 1.24456

我的长度char *array是2

预期输出:

array[0] = 2;
array[1] = 4;
array[2] = 4;

我需要在 C 中动态地实现它。

标签: carrays

解决方案


float您可以通过使用 in 函数来隔离 a 的小数部分,该函数modff将小数<math.h>部分作为函数的返回值返回,将整数部分作为引用的参数返回:

float f = 3.141592f;
float numpart, fracpart;
fracpart = modff(f, &numpart);

完成后,您可以使用传统的字符串构建函数创建一个字符串:

char buf[100];
snprintf(buf, 100, "%f", fracpart);

另一种选择是将整个转换float为字符串,然后strchr(float_str, '.')用于隔离小数部分。


推荐阅读