【发布时间】:2021-04-23 20:32:07
【问题描述】:
我有一个浮点数 242.1356783 和 -87.10234512, 我需要将其限制为 242.1 我在下面尝试了皮质 m4 微控制器
1.data[i] = (int)(data[i] *10);
数据[i] = 数据[i]/10;
2.data[i]=ceilf(data[i] * 100)/100;
3.data[i] = roundf(data[i]*100)/100; 但没有任何工作。
有人有其他解决方案吗?
【问题讨论】:
-
242.1 不能用二进制浮点表示,所以你只能希望有一个接近的近似值。获得最接近的近似值是一个难题。
roundf(x*10)/10并不总是最接近的,但也不是那么糟糕......你应该想知道为什么你想要一些不适合二进制浮点数的东西?真的是你需要的吗?
标签: floating-point decimal restrict