【发布时间】:2010-12-04 08:09:15
【问题描述】:
我不知道为什么维基百科lists Mathematica as a programming language with printf。我只是在 Mathematica 中找不到等价物。
我的具体任务是处理带有填充数字的数据文件列表,我曾经在 bash 中使用
fn=$(printf "filename_%05d" $n)
我在 Mathematica 中找到的最接近的函数是 PaddedForm。经过反复试验,我得到了它
"filename_" <> PaddedForm[ Round@#, 4, NumberPadding -> {"0", ""} ]&
很奇怪,我必须使用数字 4 来获得类似于我从“%05d”得到的结果。我根本不理解这种行为。谁能给我解释一下?
这是实现我以前在 bash 中实现的最佳方式吗?
【问题讨论】:
-
这很奇怪 - 我从来没有意识到 Mathematica 中的 printf 等价物。我以前用过很多 PaddedForm(和各种精度控制)的东西。我还盯着 PaddedForm 文档大量试图找出填充的额外字符。 +1。我想知道。
-
我的理论是 Wikipedia 将 Mathematica 列为带有 printf 的语言,因为它具有 StringForm。但 StringForm 是 printf 的悲哀、苍白的阴影。
-
既然这个老问题再次出现,为什么没有人去修复维基百科页面。