mqtt 数据精度问题

henan8
zks1508709577 8 months ago
commit dc2a6b970c

@ -71,9 +71,19 @@ static struct rt_mutex send_data_lock;
#define MAX_FILE_PKT 256 //一包的长度
double format_two_decimal_digits(float num){
// char buffer[10];
// float ret = 0.00;
// ret = data * (float)1.00; //保留两位小数 /100 还原数据
// memset(buffer, 0, sizeof(buffer));
// sprintf(buffer, "%.2f", ret);
// ret = atof(buffer);
// //LOG_D("format_two_decimal_digits, ret:%.2f", ret);
// return ret;
float rounded_num = round(num * 100); // 先扩大100倍以便更容易处理小数点后两位
int int_part = (int)rounded_num; // 取整得到整数部分
//float frac_part = rounded_num - int_part; // 计算小数部分
//return ((frac_part >= 0.5) ? (int_part + 1) : int_part) / 100.0;
return (double)(int_part / 100.0);
}

Loading…
Cancel
Save