如何在Matlab中显示没有科学计数法的长整数?
format long g
没有帮助
>> A=single([1456267123000 16.5])
A =
1×2 single row vector
1.456267e+12 16.5
>> format long g
>> A
A =
1×2 single row vector
1.456267e+12 16.5
我希望这样的输出
1456267123000 16.5
答案 0 :(得分:2)
如果只显示两个小数,可以使用format bank
:
>> format long
>> pi*1e6
ans =
3.141592653589793e+06
>> pi*1e25
ans =
3.141592653589793e+25
>> format bank
>> pi*1e6
ans =
3141592.65
>> pi*1e25
ans =
31415926535897934939029504.00
或者使用更明确,更灵活的sprintf
方法:
>> sprintf('%.7f', pi*1e6) % fixed-point, 7 decimals
>> disp(sprintf('%.7f', pi*1e6))
3141592.6535898
如果只想显示结果,也可以使用,如@Dev-iL所述,
>> fprintf(1, '%.7f\n', pi*1e6) % fixed-point, 7 decimals
3141592.6535898
甚至
>> fprintf('%.7f\n', pi*1e6) % fixed-point, 7 decimals
3141592.6535898
答案 1 :(得分:1)
您可能想尝试使用mat2str
,它可以指定所需的精度位数,并且也适用于矩阵。例如:
>> mat2str(pi, 30)
ans =
'3.14159265358979311599796346854'
>> mat2str([1456267123000 16.5], 20)
ans =
'[1456267123000 16.5]'