Một cách khác để làm điều này là trước tiên chỉ định rõ ràng độ chính xác mà bạn mong muốn trong biến bằng cách sử dụng nội tại SELECTED_REAL_KIND và sau đó sử dụng điều này để xác định và khởi tạo các biến. Cái gì đó như:
INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15)
REAL(dp) :: x
x = 1.0_dp
Một lợi thế tốt để làm theo cách này là bạn có thể lưu trữ định nghĩa dp
trong một mô-đun, sau USE
đó mô-đun đó khi cần thiết. Bây giờ nếu bạn muốn thay đổi độ chính xác của chương trình, bạn chỉ phải thay đổi định nghĩa dp
ở một nơi đó thay vì tìm kiếm và thay thế tất cả các D0
s ở cuối các khởi tạo biến của bạn. (Đây cũng là lý do tại sao tôi khuyên bạn không nên sử dụng 1.0D-1
cú pháp để xác định Y như được đề xuất. Nó hoạt động, nhưng làm cho việc tìm và thay đổi tất cả các trường hợp trong tương lai khó khăn hơn.)
Trang này trên Fortran Wiki cung cấp một số thông tin bổ sung tốt về SELECTED_REAL_KIND
.