fortran fortran中文资料网
手气不错
Article

035.fixedPointDescriptor_定点实数描述符F

F描述符以普通小数形式输出实数。它适合电压、长度、温度等数值范围相对稳定且需要固定小数位数的结果。

语法结构

Fw.d
F0.d
  • w是整个字段的宽度,其中包括符号、整数部分、小数点和小数部分。
  • d是小数点后的位数,超出的部分会按数值进行舍入。
  • F0.d省去固定字段宽度,使用容纳结果所需的最小宽度。

本文代码

! Fw.d控制实数的字段宽度和小数位数。
program fixedPointDescriptorDemo
  implicit none
  real :: voltage
  voltage = 12.34567
  print "(A,F10.2)", "F10.2:", voltage
  print "(A,F10.4)", "F10.4:", voltage
  print "(A,F0.3)",  "F0.3 :", voltage
end program fixedPointDescriptorDemo

编译运行

(base) hong@hongdeMacBook-Pro 035.fixedPointDescriptor % gfortran -Wall -Wextra -std=f2018 exampleFixedPointDescriptor.f90
(base) hong@hongdeMacBook-Pro 035.fixedPointDescriptor % ./a.out
F10.2:     12.35
F10.4:   12.3457
F0.3 :12.346

现象分析

F10.2F10.4都使用10个字符位置,但分别保留2位和4位小数,因此左侧填充的空格数不同。F0.3不保留固定宽度,只输出舍入到3位小数后的12.346

核心知识点

  • F描述符输出普通小数,不使用指数形式。
  • w控制字段宽度,d控制小数位数。
  • 减少小数位数会发生舍入,而不是简单截断。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注