Если вы хотите, чтобы вывод был точно таким же, как в вашем примере:
t = 0.1;
"filename" <> ToString@NumberForm[t, {1, 4}] <> ".png"
(* filename0.1000.png *)
EDIT
StringTemplate
лучше, если вам нужно сделать несколько замен внутри строки (меньше беспорядочной конкатенации строк) и избежать дублирования, если вам нужно использовать один и тот же шаблон в разных местах кода. Но для последнего случая было бы лучше инкапсулировать генерацию имени файла в отдельную функцию.
StringTemplate
имеет опции для указания CombinerFunction
и InsertionFunction
. InsertionFunction
по умолчанию - TextString
, поэтому нет необходимости в ToString
.
t = 0.1;
filenameTemplate = StringTemplate["filename`t`.png"];
filename = filenameTemplate[<|"t" -> NumberForm[t, {1, 4}]|>]
(* filename0.1000.png *)
И с помощью системы шаблонов можно сделать гораздо больше. Подробнее см. документы .