将 double 值转换为 uint_8 类型数组

标签 c string floating-point

我是 C 开发新手。如何将 I double 值转换为 uint_8 类型数组。

double test=1234.642462

我想另存为

uint8_t data[] = {'1','2','3','4','.','6','4','2','4','6','2'};

感谢任何帮助。谢谢。

最佳答案

您可以像这样使用 snprintf 函数:

#include <stdlib.h>    

int8_t data[20];
double test=1234.642462;

snprintf(data, 20, "%f", test);

应将 20 个字符的限制调整为所需的精度,因为 float 可能会很长。

关于将 double 值转换为 uint_8 类型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39471556/

相关文章:

c++ - 重新分配 C 样式字符串会导致内存泄漏吗?

c - msgrcv 获取空白消息

c - `` 继续 `` 中断标签放置

c - 用 printf() 进行二进制打印可以这样吗?

c - MISRA C 2012 - 规则 21.1 - 以下划线开头的宏

返回姓名首字母的 C 程序 (CS50)

c++ - 随机字符串生成

c++ - 为什么 float 取 0.699999 而不是 0.7

sqlite - SQLite 中四舍五入到最接近的值或向上舍入

c - 浮点计算C错误结果