编程format如何使用(fortran中的format语句)

:暂无数据 2026-04-12 08:00:18 0

编程format如何使用(fortran中的format语句)

其实编程format如何使用的问题并不复杂,但是又很多的朋友都不太了解fortran中的format语句,因此呢,今天小编就来为大家分享编程format如何使用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

fortran中的format语句

Fortran中的Format语句

Fortran是一种非常古老的编程语言,但是在科学计算和工程计算方面一直扮演着很重要的角色。而format语句则是fortran中比较重要的一个部分,它能够让程序员控制输出的格式,非常灵活方便。这篇文章将介绍fortran中的format语句以及它的用法和应用。

Format语句的语法

在fortran中,使用format语句需要遵守一定的语法规则,下面是一个常常使用的格式:

FORMAT(...)

大部分extentsion的语法如头字段的使用在format语句中是可选的,但引导字段的使用是必选的。在前面的语法中,方括号表示可选项,而省略号则表示允许重复多次的项。

Format语句的注释字段

在fortranformat语句中,注释字段是一种用来记录额外信息的可选项。注释字段通常包含以下信息:

格式项的类型

空格和零的填充

宽度和精度

注释字段可用于处理输入和输出,还可以用于文件存取情况下的数据格式化操作,下面是一个注释字段格式化输出的例子:

sample_program.f90

programformat_example

implicitnone

integer,parameter::wp=selected_real_kind(8,99)

real(wp)::pi

integer,parameter::n=50

pi=4.0_wp*atan(1.0_wp)

write(*,"(a,i4,f10.8)")"Thevalueofpiwith",n,"significantdigitsis:",pi

endprogramformat_example

上面的程序输出如下:

Thevalueofpiwith50significantdigitsis:3.14159265

在上面的代码中,注释字段"a"后面跟了一个字符串"Thevalueofpiwith",我们称之为字符转换描述符,它告诉fortran输出格式的类型。紧随其后的"i4"表示了宽度信息。其余的"f10.8"表示了fortran的实数输出格式。

Format语句的其他字段

在fortran中,还有许多其他的格式化控制字段可以使用,包括指数描述符(e,es,d等),十六进制格式描述符以及其他一些更加专业化的类型。

下面是一个使用不同描述符的例子:

sample_program.f90

programformat_example

implicitnone

integer,parameter::wp=selected_real_kind(8,99)

real(wp)::pi

integer,parameter::n=50

pi=4.0_wp*atan(1.0_wp)

write(*,"(a,i4,2x,f10.8,2x,f10.3,2x,e12.7)")"Piwith",n

,"significantdigits:",pi,pi,pi

endprogramformat_example

上面的程序输出如下:

Piwith50significantdigits:3.141592653.142E+00

在上面的代码中,我们使用了三个不同的输出格式化选择符:f10.8,f10.3和e12.7。其中,f表示实数类型,10.8表示输出宽度和精度,而e则是指数类型(科学计数法),同时也指定了输出width(12)和保留的精度digits(7)。

Format语句的应用

Fortran中的format语句可用于各种场合,包括打印屏幕输出、写入文本文件,甚至还可以用于二进制文件的数据格式化操作。假设我们要将以下程序写入文本文件:

sample_program.f90

programformat_example2

implicitnone

integer::i,j,k

doi=1,10,2

doj=1,5,1

k=i+j

write(*,"(3i5)")i,j,k

enddo

enddo

endprogramformat_example2

上面的程序输出如下:

%FormatExample

112

123

134

145

156

314

325

336

347

358

516

527

538

549

5510

在上面的代码中,我们使用了3i5选项,它表示"3个整型位宽为5",即对于每个循环,我们将i、j和k都打印为5位宽的整数。

总结

Format语句在fortran中具有重要的作用,它可以帮助我们控制程序输出的格式,使得我们的输出更加合理、易于阅读。此外,format语句还可以用于数据的存取(输入/输出)和文件的格式化操作等方面。希望这篇文章可以帮助大家更好地掌握fortran中的Format语句。

matlab中format是什么意思,怎么使用

format:设置输出格式

对浮点性变量,缺省为format short.

format并不影响matlab如何计算和存储变量的值。对浮点型变量的计算,即单精度或双精度,按合适的浮点精度进行,而不论变量是如何显示的。对整型变量采用整型数据。整型变量总是根据不同的类(class)以合适的数据位显示,例如,3位数字显示显示int8范围 -128:127。

format short, long不影响整型变量的显示。

format long 显示15位双精度,7为单精度(scaled fixed point)

format short 显示5位(scaled fixed point format with 5 digits)

format short eng 至少5位加3位指数

format long eng 16位加至少3位指数

format hex 十六进制

format bank 2个十进制位

format + 正、负或零

format rat 有理数近似

format short 缺省显示

format long g 对双精度,显示15位定点或浮点格式,对单精度,显示7位定点或浮点格式。

format short g 5位定点或浮点格式

format short e 5位浮点格式

format long e 双精度为15位浮点格式,单精度为7为浮点格式 

实例如图

聊聊String.format()方法

先说说使用String.format方法来输出字符串的优势,我们可以回想一下我们刚开始学习Java时,对于不确定具体内容的参数,往往是使用字符串拼接的方式来进行输出的,比如说像下面这种:

我们可以看到,使用上面这种方式我们确实可以完成打印的需求,但是字符串拼接过程中其实是创建了一些我们不需要用到的字符串对象的。所以,面对这种不确定参数内容的场景,String类提供format的格式化方法来帮助我们解决这个问题。

format方法的核心在于对占位符的使用,我们可以预先定义好一个字符串的模板,有了模板之后我们只需要提供参数就行,底层会帮助我们把参数替换到对应的占位符中。我们以上面的案例为例,做一个小优化:
定义的模板字符串为: %s今年%d岁了,收到了%f块零花钱 ,其中第一个 %s 表示会将传入的第一个字符串参数替换掉 %s 这个占位符,对于 %d 和 %f 也是一样,分别表示整数类型和浮点类型的占位符。

从输出结果看,我们可以发现和之前使用字符串拼接的效果一模一样,但是使用format方法却有更多的好处:
(1) 参数更加明确 ,我们可以更加方便的找到输出的元素(在多参数的输出上会体现的更加明显)
(2) 降低了产生的无用内存对象

下面我们将对format方法中常用的占位符进行介绍:

其中我们用的比较多的,一般是字符串、整数、浮点、日期相关的占位符多一些。

我们以上面的占位符为例做一个小例子:

我们使用这些特殊的占位符来做一个小测试:

我们在常用占位符的介绍中提到了可以通过 %tx 的方式来定义日期占位符,其中 x 就需要我们再根据需要填入对应的日期格式。

同样的,我们根据上面提供的日期占位符来做一个简单的例子:
我们可以看到,我们定义的模板字符串为: today is %1$tY-%1$tm-%1$td ,理论上我们需要填入三个参数,但实际上我们只提供了1个日期类,原因是当1个参数会在模板字符串中多次使用时,我们可以使用 数字$ 的方式来对指定位置的参数进行替换。比如说 1$ 表示的就是这里将使用第1个参数进行替换。
同时,还需要注意,我们的索引占位符 数字$ 是需要写在%之后的,否则会识别错误。

至此,对于String.format方法我们就介绍到这里。

OK,关于编程format如何使用和fortran中的format语句的内容到此结束了,希望对大家有所帮助。

编程format如何使用(fortran中的format语句)

本文编辑:admin

更多文章:


send out用法及例句(send out是什么意思)

send out用法及例句(send out是什么意思)

各位老铁们好,相信很多人对send out用法及例句都不是特别的了解,因此呢,今天就来为大家分享下关于send out用法及例句以及send out是什么意思的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年9月7日 20:30

全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)

全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)

大家好,关于全球新冠肺炎疫情背景下航运发展很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决

2026年9月7日 17:10

matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)

matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)

大家好,关于matlab求解带字母参数方程组很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数的知识点,相信应该可以解决大家的一些困惑和问题,

2026年9月7日 16:30

oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)

oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)

本篇文章给大家谈谈oracle中的循环语句,以及下面哪个不是oracle程序设计中的循环语句 a for对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月7日 15:30

多表查询怎么做(Excel技巧:如何多表同步筛选)

多表查询怎么做(Excel技巧:如何多表同步筛选)

各位老铁们好,相信很多人对多表查询怎么做都不是特别的了解,因此呢,今天就来为大家分享下关于多表查询怎么做以及Excel技巧:如何多表同步筛选的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年9月7日 15:10

服装店网站网页设计(服装网站建设目标设计要看甲方)

服装店网站网页设计(服装网站建设目标设计要看甲方)

“服装店网站网页设计”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看服装店网站网页设计(服装网站建设目标设计要看甲方)!

2026年9月7日 14:10

电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)

电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)

大家好,电脑里2个系统怎么删除一个相信很多的网友都不是很明白,包括电脑开机显示有两个系统,如何删除一个也是一样,不过没有关系,接下来就来为大家分享关于电脑里2个系统怎么删除一个和电脑开机显示有两个系统,如何删除一个的一些知识点,大家可以关注

2026年9月7日 12:20

苹果手机代码大全(恢复更新固件iOS未知错误代码解决大全)

苹果手机代码大全(恢复更新固件iOS未知错误代码解决大全)

大家好,今天小编来为大家解答以下的问题,关于苹果手机代码大全,恢复更新固件iOS未知错误代码解决大全这个很多人还不知道,现在让我们一起来看看吧!

2026年9月7日 10:20

scrollthrough意思(“scroll”是什么意思)

scrollthrough意思(“scroll”是什么意思)

今天给各位分享“scroll”是什么意思的知识,其中也会对“scroll”是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年9月7日 08:00

怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)

怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)

本篇文章给大家谈谈怎么激活keygen,以及注册机如何激活cad2008一个简单激活cad2008的方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站

2026年9月7日 06:30

最近更新

热门文章

dessert(dessert是什么意思)
2026-05-03 12:45:03 浏览:7
标签列表