gpt4 book ai didi

Fortran - 想要四舍五入到小数点后一位

转载 作者:行者123 更新时间:2023-12-03 22:54:01 32 4
gpt4 key购买 nike

在fortran中,我必须将纬度和经度四舍五入到小数点后一位。
我正在使用 gfortran 编译器和 nint 函数,但以下不起作用:

print *, nint( 1.40 * 10. ) / 10.    ! prints 1.39999998
print *, nint( 1.49 * 10. ) / 10. ! prints 1.50000000
在这里寻找通用和特定的解决方案。例如:
  • 我们如何显示四舍五入到一位小数的数字?
  • 我们如何在 fortran 中存储这些四舍五入的数字。在浮点变量中是不可能的,但还有其他方法吗?
  • 我们如何将这些数字写入 NetCDF?
  • 我们如何将这些数字写入 CSV 或文本文件?
  • 最佳答案

    正如其他人所说,问题是在 NetCDF 文件中使用浮点表示。使用 nco实用程序,您可以使用 scale_factor 和 add_offset 将纬度/经度更改为短整数。像这样:

    ncap2 -s 'latitude=pack(latitude, 0.1, 0); longitude=pack(longitude, 0.1, 0);' old.nc new.nc

    关于Fortran - 想要四舍五入到小数点后一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39093294/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com