PIC MICROs:如何在单独的字符数组中转换浮点值
PIC MICROs : How to convert a float in separate characters array?
我从ADC读取和转换中得到一个浮点var,我需要在7段显示器中单独显示数字,这就是为什么我需要单独显示数字。
浮动var=12.34;//我需要一种转换的方法
int rb[1,2,3,4];//进入这个
如果是int,那么使用divisions和mod会很容易,但我认为这必须是一种更优雅的方式。不是吗?
欢迎任何帮助。
感谢收看
首先,您需要将浮点转换为字符串,因为您没有告诉我们使用的是哪种编译器,我假设是C30,这里有ftoa的代码(将浮点转换成字符串)。如果你正在使用另一个像C18这样的编译器,看看他们的论坛,有很多实现(或者只是将一个转换为C30)。
unsigned char floatAsString[32];
ftoa(var, floatAsString);
接下来,你需要创建你的数组,你需要检查浮点是否有小数,或者是否跳过小数点:
int len;
if((int)var == var)
len = strlen(floatAsString);
else
len = strlen(floatAsString) - 1;
然后,最后可以填充一个int数组;
int theArray[len];
unsigned char tmpBuffer[2];
tmpBuffer[1] = ' ';
int j;
int i;
unsigned char foundDot;
for(j = 0; j < len; j++)
{
if(foundDot)
i = j - 1;
else
i = j;
unsigned char theChar = floatAsString[j];
if(theChar == '.')
{
foundDot = 1;
continue;
}
tmpBuffer[0] = theChar;
theArray[i] = atoi(tmpBuffer);
}
相关文章:
- 如何在C++中将数组转换为矢量指针
- 将C++中的数组转换为字符串
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 将 int 数组转换为 std::vector<int*>
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 无法在 Arduino 中uint8_t数组转换为无符号长整型数组
- 将字节数组转换为带有字节序问题的指针
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 将字符数组转换为时间结构
- 将字节数组转换为多维数组
- 可视化 如何在C++中将字符数组转换为 FILE 类型
- 在 C++ 中将整数数组转换为位集表示形式的最佳方法?
- C++如何将字符数组转换为字节向量(向量<byte>)
- 将字符数组转换为结构时出现问题. 结构的字符数组变量溢出
- 无法将字符数组转换为包含 utf-8 字符的字符串
- 如何使用 C++将 2D RGB 数组转换为 dds 文件?
- 如何将字符串指针数组转换为字符串类型的智能指针向量?
- 将 int 数组转换为带有小数C++的双精度数组
- 使用 .data() 将字符数组转换为 std::string 不会转换整个数组
- 将字符数组转换为整数值