- 积分
- 1340
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-5-4
- 最后登录
- 1970-1-1
![未绑定新浪微博用户 新浪微博达人勋](source/plugin/sina_login/img/gray.png)
|
发表于 2014-10-8 17:06:22
|
显示全部楼层
用c#定义float变量二进制输出
下面是我写的将AQI空气质量指数写成二进制文件,数据存放在一维数组里
#region 输出数据到二进制文件Grads格式
public static void OutPut2BinaryHourAqi(string fname, string[]Id,float[]Lng,float[]Lat,float[]val)
{
FileStream fs=new FileStream(Environment.CurrentDirectory+"\\"+fname,FileMode.Create);
BinaryWriter br=new BinaryWriter(fs);
int nlev=1;
int nflag=1;
float tim=0.0f;
string tmp="";
Console.WriteLine("输出二进制格式....");
string EchoInfo="";
for(int i=0;i<Id.Length;i++)
{
if(tmp.Length>7)
{
tmp=tmp.Substring(0,7);
}
else
{
tmp=tmp.PadLeft(7,' ');
}
br.Write(tmp);
br.Write(Lat[i]);
br.Write(Lng[i]);
br.Write(tim);
br.Write(nlev);
br.Write(nflag);
br.Write(val[i]);
EchoInfo=string.Format("{0},{1},{2},{3},{4}",(i+1).ToString().PadLeft(3,' '),Id[i],Lat[i],Lng[i],val[i]);
Console.WriteLine(EchoInfo);
}
nlev=0;
br.Write(tmp);
br.Write(Lat[Id.Length-1]);
br.Write(Lng[Id.Length-1]);
br.Write(tim);
br.Write(nlev);
br.Write(nflag);
br.Close();
}
#endregion |
|