Tôi không biết tại sao Wikipedia lists Mathematica as a programming language with printf. Tôi chỉ không thể tìm thấy tương đương trong Mathematica.Tương đương Sprintf trong Mathematica?
nhiệm vụ cụ thể của tôi là để xử lý một danh sách các tập tin dữ liệu với số lượng đệm, mà tôi sử dụng để làm điều đó trong bash với
fn=$(printf "filename_%05d" $n)
Chức năng gần nhất tôi tìm thấy trong Mathematica là PaddedForm
. Và sau một số lần thử và sai, tôi đã nhận được nó với
"filename_" <> PaddedForm[ [email protected]#, 4, NumberPadding -> {"0", ""} ]&
Rất lạ khi tôi phải sử dụng số 4 để nhận được kết quả tương tự như những gì tôi nhận được từ "% 05d". Tôi không hiểu hành vi này chút nào. Ai đó có thể giải thích cho tôi?
Và đó có phải là cách tốt nhất để đạt được những gì tôi đã từng sử dụng?
Thật lạ lùng - Tôi chưa bao giờ biết về bản in tương đương trong Mathematica. Tôi đã sử dụng PaddedForm (và tất cả các loại điều khiển chính xác) nhiều thứ trước đây. Tôi cũng đã nhìn chằm chằm vào tài liệu của PaddedForm, cố gắng tìm hiểu thêm về nhân vật đệm đó. +1. Tôi muốn biết. – Cascabel
Lý thuyết của tôi là Wikipedia liệt kê Mathematica như một ngôn ngữ với printf bởi vì nó có StringForm. Nhưng StringForm là một bóng mờ nhạt của printf. – Pillsy
['IntegerString'] (http://reference.wolfram.com/language/ref/IntegerString.html) – yohai