julia - 如果值为正则打印额外的空格

标签 julia

我正在尝试让我的程序获得视觉上清晰的输出:

a = -1234
b =  1234
@printf "a = %s%1.2e" ""  a
@printf "b = %s%1.2e" " " b

给出:

a =  1.23e+03
b = -1.23e+03

(重点是正数要多加一个空格)

现在我想自动化它。我尝试编写一个函数:

function negspace(x::Number)
    if x < 0
        return "", x
    else
        return " ", x
    end
end

并打印

a = -1234
b =  1234
@printf "a = %s%1.2e" negspace( a )
@printf "b = %s%1.2e" negspace( b )

最佳答案

更简单的是使用 printf format flag可以通过在 % 后面添加一个空格来直接执行此操作:

julia> @sprintf("a = % 1.2e", -1234)
"a = -1.23e+03"

julia> @sprintf("b = % 1.2e", 1234)
"b =  1.23e+03"

关于julia - 如果值为正则打印额外的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298584/

相关文章:

julia - 分配多维数组的 block

class - 是否可以在不使用 `eval()` 的情况下在 Julia 中实现类型工厂?

multithreading - 线程for循环中变量的范围?

c - Windows 上混合 Julia 和 C 项目的最小工作示例

statistics - julia 中的多项式回归 - glm

julia - 检查两组是否有非空交集

用于 Jupyter 的 Julia Kernel 崩溃

matrix - 在 Julia 中将矩阵提升为幂

hadoop - 为 julia 安装 HDFS 接口(interface)包

dictionary - julia 0.6 中不同类型字典的向量