Cara lain untuk melakukan ini adalah pertama-tama secara eksplisit menentukan presisi yang Anda inginkan dalam variabel menggunakan intrinsik SELECTED_REAL_KIND dan kemudian gunakan ini untuk menentukan dan menginisialisasi variabel. Sesuatu seperti:
INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15)
REAL(dp) :: x
x = 1.0_dp
Keuntungan yang bagus untuk melakukannya dengan cara ini adalah Anda dapat menyimpan definisi dpdalam sebuah modul, kemudian USEmodul itu jika diperlukan. Sekarang jika Anda ingin mengubah ketepatan program Anda, Anda hanya perlu mengubah definisi dpdi satu tempat itu daripada mencari dan mengganti semua huruf D0s di akhir inisialisasi variabel Anda. (Ini juga mengapa saya merekomendasikan untuk tidak menggunakan 1.0D-1sintaks untuk mendefinisikan Y seperti yang disarankan. Ini berfungsi, tetapi membuatnya lebih sulit untuk menemukan dan mengubah semua instance di masa depan.)
Halaman ini di Fortran Wiki memberikan beberapa informasi tambahan yang bagus tentang SELECTED_REAL_KIND.