Matlab里,以%6f输出3.14,结果为什么是3.140000而不是3.1400?
答案:1 悬赏:0 手机版
解决时间 2021-02-19 10:21
- 提问者网友:一抹荒凉废墟
- 2021-02-18 16:00
Matlab里,以%6f输出3.14,结果为什么是3.140000而不是3.1400?
最佳答案
- 五星知识达人网友:毛毛
- 2021-02-18 16:23
matlab中的%f是数据输入输出格式的一种。常用格式说明符有:
一、格式输出
%e 数据指数表示形式,如e+2(10²),e+3(10³),e-3(10^-3)
%f 固定小数点位置的数据形式,如%6.2f,数据输出长度为6(包括小数点),小数点后的长度为2
%g 在前两种中自动选择比较短的一种
上述三种都是按浮点数据进行转换
使用方法:
a=3.141592;
fprintf('%e\n',a) %3.141593e+000
fprintf('%6.4f\n',a) %3.1416
fprintf('%g\n',a) %3.14159
二、格式输入
%s 按字符进行输入转换
%d 按十进制数据进行转换
%f 按浮点数据进行转换
使用方法:
tempstr = '78°F 72°F 64°F 66°F 49°F';
fid = fopen('lhm.txt', 'w+');
fprintf(fid, '%s', tempstr); %向lhm.txt文件中输入字符串 tempstr
fclose(fid);
type lhm.txt %查看结果追问你好,%6f不就是输出长度是6位的意思嘛。那3.14输出后不应该是3.1400嘛,这样才是6位啊追答%6f的意思就是数据为浮动数据,其有效长度是6位(包括小数点),如果你后面不需要有0,那你应该这样写%4f才对。
一、格式输出
%e 数据指数表示形式,如e+2(10²),e+3(10³),e-3(10^-3)
%f 固定小数点位置的数据形式,如%6.2f,数据输出长度为6(包括小数点),小数点后的长度为2
%g 在前两种中自动选择比较短的一种
上述三种都是按浮点数据进行转换
使用方法:
a=3.141592;
fprintf('%e\n',a) %3.141593e+000
fprintf('%6.4f\n',a) %3.1416
fprintf('%g\n',a) %3.14159
二、格式输入
%s 按字符进行输入转换
%d 按十进制数据进行转换
%f 按浮点数据进行转换
使用方法:
tempstr = '78°F 72°F 64°F 66°F 49°F';
fid = fopen('lhm.txt', 'w+');
fprintf(fid, '%s', tempstr); %向lhm.txt文件中输入字符串 tempstr
fclose(fid);
type lhm.txt %查看结果追问你好,%6f不就是输出长度是6位的意思嘛。那3.14输出后不应该是3.1400嘛,这样才是6位啊追答%6f的意思就是数据为浮动数据,其有效长度是6位(包括小数点),如果你后面不需要有0,那你应该这样写%4f才对。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯