gpt4 book ai didi

在 Julia 中打印到特定的(运行时确定的)精度

转载 作者:行者123 更新时间:2023-12-03 06:34:40 25 4
gpt4 key购买 nike

给定一个值 x 和一个整数 n (在运行时分配),我想将 x 打印到小数点后恰好 n 位(如果需要的话,在四舍五入之后)。

print(round(x, n)) 对于 (x,n)=(3.141592, 3) 工作正常,但对于 (x,n) =(2.5,5),它只打印 2.5,而不是 2.50000(小数点后 5 位)。

如果我在运行时知道 n,比如 5,我就可以做到

@printf("%.5f", x)

但是@printf是一个宏,需要在编译时知道n。

使用一些show魔法或其他东西可以实现这一点吗?

最佳答案

使用全新的Format.jl封装:

using Format

function foo(x, n)
f = FormatSpec(".$(n)f")
pyfmt(f, x)
end

foo(2.5, 5)

关于在 Julia 中打印到特定的(运行时确定的)精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50743164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com