这可能是一个非常基本的问题,但我似乎无法在谷歌上找到答案,也不能通过搜索这个论坛来找到答案(最可能是由于问题的措辞不好)。
我正在寻找一个内部的Fortran函数,以给出整数使用的位置数量。我的意思是,如果一个整数是12543,则使用的位置数为5(它将始终为正数)。我想要这个的原因是,在使用带格式输出的WRITE语句时,我可以指定"Iw"中的"w",并使用尽可能少的空格。
更具体地说:
我正在寻找一个内部的Fortran函数,以给出整数使用的位置数量。我的意思是,如果一个整数是12543,则使用的位置数为5(它将始终为正数)。我想要这个的原因是,在使用带格式输出的WRITE语句时,我可以指定"Iw"中的"w",并使用尽可能少的空格。
更具体地说:
WRITE(*,"(/ A,Iw,1X,A,Iw)") "All particles within radius ",radius, "of particle index number", p_o_i
在此之前,用户已经指定了半径和p_o_i。
我可以很容易地编写一些代码来实现这一点,但我认为一定有一个内置函数可以实现这个功能。
我已经查看了这里的函数,但没有什么进展。感谢您的帮助。
log10
函数,或者将内容写入一个字符串变量中,指定固定的宽度,然后通过adjustl
和trim
函数打印该字符串。 - steabertI0
和G0
编辑描述符。通常这会导致最小的字段。 - francescalusi0
编辑描述符,用于整数字段,在运行时将确保打印整数的精确宽度。当打印整数时,你绝对不需要通过对数计算出允许的字符数。 - High Performance Mark