首先,我将4位数的浮点值的整数部分和浮动部分分开(例如5.678) 接下来,我将浮动部分乘以1000得到一个整数,然后将这个整数放入floor函数。
x = 5.678
int_part = floor (x) % result is 5
float_part = x - int_part % result is 0.678
float_part = float_part * 1000 % result is 678
floor (float_part) % returns 677 instead of 678
这里发生了什么?如何告诉Matlab / Octave返回正确的值?
提前谢谢
答案 0 :(得分:1)
x = 5.678
int_part = floor (x) % result is 5
float_part = x - int_part % result is 0.678
float_part = float_part * 1000 % result is 678
floor (float_part) % returns 677 instead of 678
format long
disp(float_part)
答案是
6.779999999999999e+02
所以楼层(float_part)是
677