我有以下源代碼,但結果不是舍入到小數點後兩位。四捨五入浮點數的問題
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(int argc, char *argv[])
{
float x1=0;
float x2 = 0;
float result=0;
x1 = 8961.650391;
result = x1 * 100 + 0.5;
result = (float)floor(result);
printf("Result = <%f>\n", result);
result = result/100;
x2 = result;
printf("x2 = <%f>\n", x2);
return 0;
}
請幫忙解決問題。
Result = <896165.000000>
x2 = <8961.650391>
如何獲取x3 = 8961.650000?
但我需要四捨五入的價值,所以我需要X2 = <8961.65> – user5240895
添加了roundf功能,這將幫助你圓也。 ,查看更新後的答案 –