heikeyang 发表于 2007-8-12 12:03

matlab fscanf读入数据的格式问题

有一组数据需要读入,数据格式为3333.4581.
但用fscanf读入时不能像输出时那样人为控制格式,只能%f或%g,读入
后数据变成3.3335*10^3。请问如何解决。
按照字符串读入,再转化为数字,问题相同。
请高手出手解决啊!!

[ 本帖最后由 eight 于 2007-8-12 12:12 编辑 ]

eight 发表于 2007-8-12 12:13

原帖由 heikeyang 于 2007-8-12 12:03 发表 http://www.chinavib.com/forum/images/common/back.gif
有一组数据需要读入,数据格式为3333.4581.
但用fscanf读入时不能像输出时那样人为控制格式,只能%f或%g,读入
后数据变成3.3335*10^3。请问如何解决。
按照字符串读入,再转化为数字,问题相同。
请高手出 ...

试试 %8.4f 这样的方式

heikeyang 发表于 2007-8-12 12:21

fscanf读入时不能用format规定%f的格式。

鱼宝宝 发表于 2009-7-2 13:07

我也碰到这样的问题,原始数据test.txt中存的都是类似于0.00015387269845这样的数据,我要把它读出逐一存到一个数组中,
fid=fopen('test.txt','r');
A=fscanf(fid,'%1.16f',1024);
fclose(fid);
结果显示
A
   ..
将fscanf中的数据格式改为%f,则A中有数据,只是自动进行了四舍五入,比如上面的数据,显示为0.0002,不知道为什么?

ChaChing 发表于 2009-7-2 13:44

help format & help fscanf
试试
A=fscanf(fid,'%16.14f',1024);
format long e

鱼宝宝 发表于 2009-7-2 18:03

谢谢chaching,:@P ,我试试!
人生最大的幸福就是能帮助别人,祝福你每天都拥有这份幸福!:@)
向你学习,也来拥有这份幸福!:@)
页: [1]
查看完整版本: matlab fscanf读入数据的格式问题