c - 如何在浮点数中提取小数点后的数字并存储在char数组中
问题描述
我提到了下面的问题,但我需要提取小数点后的数字并存储在char *array
前任:
float = 1.24456
我的长度char *array
是2
预期输出:
array[0] = 2;
array[1] = 4;
array[2] = 4;
我需要在 C 中动态地实现它。
解决方案
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, '.')
用于隔离小数部分。
推荐阅读
- c# - 如何为 fo-dicom 配置 log4net appender?
- laravel - 使用 whereBetween 获取关系计数并基于该计数进行过滤
- python - Python ImageGrab 不使用输入
- c - C 客户端服务器应用程序中的内存管理
- visual-studio-code - 使用 EBNF 在 Visual Studio Code 中创建代码片段
- mysql - 如何mysql从所有wp用户中选择第二个附件
- node.js - 跨域请求在 mozila firefox 中被阻止?但它在chrome浏览器中工作
- spring - Spring boot:在关闭时取消注册 JMX 公开的 bean
- c# - 从数组字符串向Gridview添加一行而不定义列c#
- javascript -