无法舍入输出值

时间:2015-02-20 20:57:57

标签: matlab

我得到这样的输出:

mhat =

  Columns 1 through 5

     0     0     1     1     1  

当我将此输出写入文件时,使用以下代码:

% write output to text file:
 fileID = fopen('myoutput.txt','w');
 fprintf(fileID,'%1f \n',mhat);
 fclose(fileID);

我正在使用像这样的前导零输出

0.000000 
0.000000 
1.000000 
1.000000 
1.000000

但我期待这样的输出:

0 
0 
1 
1 
1

如何摆脱领先的零点?我试过四舍五入,但事情并没有发生。请帮忙。提前谢谢。

3 个答案:

答案 0 :(得分:0)

如果你想显示一个没有小数位的值,你必须告诉fprintf;例如,您可以使用%1.0f

答案 1 :(得分:0)

如果要打印整数,则应使用

fprintf(fileID,'%d\n',mhat);

'%1f'表示打印为至少包含1个字符的浮点数。或者,您可以使用'%1.0f'在点之后指定0小数。

答案 2 :(得分:0)

使用'%g'以压缩格式格式化数据:

fprintf('%g',1.00) % prints 1
fprintf('%g',1.01) % prints 1.01