Я пытаюсь создать перегруженную функцию num2str(x)
, которая будет принимать целые или вещественные значения в качестве входных данных и возвращать строковое значение. Моя цель сделать это - использовать его при записи файла журнала.
Основываясь на предложениях, данных в моем предыдущем сообщении (создание файла журнала), я создали подпрограмму message(msglevel, string)
, которую я использую для записи файла журнала. Теперь я могу только отправить строку этой функции, и я пытаюсь упростить создание строки с помощью num2str(x)
.
Может ли кто-нибудь объяснить мне, где я должен разместить этот код (в подпрограмме, в модуле), чтобы я мог получить к нему доступ отовсюду. Я видел пример этого, но он использует его в основная программа, которую я не могу сделать.
Пожалуйста, дайте мне знать, верен ли этот подход. Я также хотел бы знать, могу ли я изменить num2str(x)
, чтобы возвращать строку для переменных массива.
!GLOBAL FUNCTIONS
interface num2str
function num2str_int(number)
integer,intent(in)::number
character(len=*)::num2str_int
end function
character function num2str_real(number)
real::number
character(len=*)::num2str_real
end function
end interface
function num2str_int(number)
implicit none
integer,intent(in)::number
character(len=*)::num2str_int
write(num2str_int,'(I)')number
return
end function
character function num2str_real(number)
implicit none
real,intent(in)::number
character(len=*)::num2str_real
write(num2str_real,'(F6.4)')number
return
end function