在fortran中,我必须将纬度和经度四舍五入到小数点后一位。
我正在使用 gfortran 编译器和 nint 函数,但以下不起作用:
print *, nint( 1.40 * 10. ) / 10. ! prints 1.39999998
print *, nint( 1.49 * 10. ) / 10. ! prints 1.50000000
在这里寻找通用和特定的解决方案。例如:最佳答案
正如其他人所说,问题是在 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/