gpt4 book ai didi

c - 如何在 Arduino 或 C 中将十进制数的整数和小数部分作为两个整数获取?

转载 作者:行者123 更新时间:2023-12-02 08:42:26 24 4
gpt4 key购买 nike

如何在 Arduino 或 C 中将 30.8365146 转换为两个整数 30 和 8365146?

当我尝试发送 GPS 时我遇到了这个问题数据来自 XBee系列 1 不允许传输小数,所以我决定将数据分成两部分。我该怎么做?

我试过这样的:

double num=30.233;
int a,b;

a = floor(num);
b = (num-a) * pow(10,3);

输出是30232!输出不是 30 和 233。为什么以及如何修复它?

最佳答案

double value = 30.8365146;
int left_part, right_part;
char buffer[50];
sprintf(buffer, "%lf", value);
sscanf(buffer, "%d.%d", &left_part, &right_part);

你会得到左/右部分分别存储在整数中。

附言另一种解决方案是将您的数字乘以 10 的某个幂并作为整数发送。

关于c - 如何在 Arduino 或 C 中将十进制数的整数和小数部分作为两个整数获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15387028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com