| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 580 人关注过本帖
标题:关于java中科学技术的问题
只看楼主 加入收藏
chowchow616
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-16
收藏
 问题点数:0 回复次数:1 
关于java中科学技术的问题
现在我想从一个txt文件中读入一堆数据,其中有些数据是科学技术法来表示的,例如1.07157e-016。
我读数据用的是StreamTokenizer来读的,即希望能一个token一个token的来读取。
代码如下:
input=new FileInputStream(fileName);
bReader=new BufferedReader(new InputStreamReader(input));
sT=new StreamTokenizer(bReader);
...
data[i]=sT.nval;
...
可是,当sT在读科学计数的数据时,会把一个数据分成两个部分,两次读取。像上一个数据,sT会分成两个部分,前一个是1.07157,后一个是e-016,最后转成的数据很自然也就不正确。
不知道有没有一种简便的方法,来处理这种问题。
谢谢了。
搜索更多相关主题的帖子: java 科学技术 
2007-08-14 18:29
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 

1.07157e-016 StreamTokenizer在切分的时候,将1.07157当成一个数,存在nval里,而e-016当成字符串,存在sval里。
需要重设标记分割器。

2007-08-14 18:36
快速回复:关于java中科学技术的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025608 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved