全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter 1 fortran 字符型 与 整型 之间的转换2007-05-06 16:01:11|分类:Fortran|标签:fortran|字号订阅整型-字符型!integer : intYearcharacter(len=4) : txtYearintYear = 1998write(txtYear,(I4) intYearwrite(*,*) txtYearend!注意,write(txtYear,(I4) intYear中,txtYear为字符型。fortran将字符型变量txtYear看作一个文件,将数据intYear写入这个文件。字符型-整型(下面的写法是错误的!)!integer : intYearcharacter(len=4) : txtYeartxtYear = 1998write(intYear,(A4) txtYearwrite(*,*) iniYearend!上面的写法错在:intYear是整型变量,初始值为0,write将寻找unit=0的文件,结果找不到,报错!这就是说,使用write进行类型转换时,只能进行整型-字符型的转换。要想将字符型转换到整型,要用到read命令:!integer : intYearcharacter(len=4) : txtYeartxtYear = 1998read(txtYear,(I4) iniYear!read(txtYear(1:4),(I4) iniYearwrite(*,*) iniYearend!这种方法仍然以txtYear为文件,将其中的1998以整型读出。read(txtYear(1:4),(I4) iniYear可以将字符串中任意数据(第一到第四个字符之间的子串,包括第一和第四个字符)读出来!试一试这种方法:write(string, I3.3) intnumber看一看他与write(string, I3) intnumber有什么区别!另外,看一看下面地代码是什么意思:CHARACTER*5 string1intnumber=45string1=(I?)WRITE(string1(3:4),(I2.2)int(log10(real(INTNUMBER)+1)WRITE(*,string1)INTNUMBER这个也很好:write (string,*) intnumberstring = trim(adjustl(trim(string)Fortran中的字符串函数:ichar(c):将一个字符转化为对应的序号,按处理器整理顺序排列,括号内也可以是字符串,但是只处理第一个字符iachar(c):将一个字符转化为ascii码值,这是为非ascii平台提供的转化到ascii码值的函数在ascii平台上,这两个函数等效的。char(n) :将一个整数值转化为字符,按处理器顺序排列achar(n) :将一个整数转化为字符,按ascii码顺序排列char(n,kind),我还是不十分明确-adjustL(s) :将字符串前面的空格挪到后面,字符串中间的空格不动,总字符串长度不变adjustR(s) :字符串右对齐,字符串长度不变-len(s) :求字符串长度函数len_trim(s) :不计算字符串尾部空格长度-trim(s) :去除字符串尾部空格-index(s1,s2,back) :s2在s1中的起始位置,如果s2不是s1的子串,返回0,如果s2为(空字符串),返回1。back=.true.时表示如果s2在s1中出现多次,按照最后一次出现的位置计算,如果省略或者back=.fasle.,则均按s2第一次出现的位置计算。例子:s1=*123*23567index(s1,23) 值为4index(s1,23,back=.true.) 值为8(使用的是digital visual fortran 6.0,帮助中有INDEX (XXXX, , BACK = .TRUE.) 值为5但是在其环境下测试,并非如此,仍然是0,不知道是否帮助文件的问题,还是其他原因。)-scan(s1,s2,back) :扫描s1中的每个字符判断是否包含于s2字符集中,并返回s1中第一个能够包含在s2中的字符位置,如果设置了back=.true.,则返回s1中从右面开始第一个包含于s2字符串中的字符位置。如果没有包含于s2字符集的字符,则返回0。例如:s1=*123*23567scan(s1,32) ! =4,s1中的2和3都属于32字符集,但是在s1中,第一个出现属于s2字符的是第4位置上的2,所以返回4scan(a1,32, BACK = .TRUE.) !=9,从字符串s1右边开始计算,则3是第一个包含于32字符集的字符,位置数是9verify(s1,s2,back) :与scan类似,但是判断是否有不包含于字符集的字符并返回其位置,back同样类似是表示从字符串右边开始寻找。具体就是判断s1中的每个字符是否有没有包含于s2字符集中的,如果存在则返回其在s1中的位置,否则返回0值。如果设置back=.true.,则从s1最右侧的字符开始判断。如果s1中的字符全部属于s2字符集,则返回0。例如s1=*123*23567verify(s1,32) ! =1,因为s1中的第一个字符*就不属于32字符集,所以函数返回1verify(s1,32,back=.true.) ! =12,从s1右面第一个字符开始检查,7不属于32字符集,所以返回7的位置12verify(s1,1234567*) ! =0,s1中的字符全部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年四川省小升初统一模拟英语试卷含答案解析
- 2026年《茶艺服务》旅游中职技能考核试题及答案
- 2025年室内环境检测人员上岗证考核题库含答案
- 2025年兰州机务段铁路技能岗招聘笔试题完整答案
- 零售行业门店部店员销售接待规范手册(执行版)
- 危险化学品安全操作与事故预防手册
- 铁路建设与维护手册
- 工程样板引路标准化施工制作指南
- 2025-2026年江西省人教版高三语文一轮复习文言文阅读第三章测试卷
- 2025-2026年生态平衡与可持续发展知识竞赛试卷
- 2026年娄底职业技术学院高职单招笔试职业适应性测验试题库含答案解析2套试卷
- CSCO肾癌诊疗指南(2026版)
- 建设工程清标工作实施方案
- 《工业设备全生命周期管理手册(标准版)》
- 2026年北京市高考英语试卷(含答案及解析)
- (正式版)DB31∕T 1210-2020 《非居住物业管理服务规范》
- 2026年教科版五年级科学上册2.2《独轮车省力的秘密》课件
- (2026年秋)人教版七年级上册英语单词表
- 2026年安徽省中考英语试题(含答案)
- 【财务岗位审计对接人员】【年报季报审计场景】【资料准备混乱调整分录不规范沟通成本高昂】【审计准备手册与调整分录工具包】
- 2026年电焊工技能比武理论考试试题(含答案)
评论
0/150
提交评论