gpt4 book ai didi

julia - Jula REPL 数字格式

转载 作者:行者123 更新时间:2023-12-04 20:06:41 26 4
gpt4 key购买 nike

在 MatLab/Octave 中,您可以发送命令“format long g”,并在 REPL 格式中使用默认数字输出,格式如下:

octave> 95000/0.05

ans = 1900000


是否有可能在 Julia 中获得类似的行为?目前与 Julia

Version 0.3.0-prerelease+3930 (2014-06-28 17:54 UTC)

Commit bdbab62* (6 days old master)

x86_64-redhat-linux


我得到以下数字格式。

julia> 95000/0.05

1.9e6

最佳答案

您可以使用 @printf 宏来格式化。它的行为类似于 C printf,但与 C 的 printf 不同,该类型不需要一致,而是根据需要进行转换。例如

julia> using Printf
julia> @printf("Integer Format: %d",95000/0.05);
Integer Format: 1900000

julia> @printf("As a String: %s",95000/0.05);
As a String: 1.9e6

julia> @printf("As a float with column sized larger than needed:%11.2f",95000/0.05);
As a float with column sized larger than needed: 1900000.00
可以使用 @printf 作为 REPL 中的默认机制,因为 REPL 是在 Base.REPL 中的 Julia 中实现的,特别是以下函数:
function display(d::REPLDisplay, ::MIME"text/plain", x)
io = outstream(d.repl)
write(io, answer_color(d.repl))
writemime(io, MIME("text/plain"), x)
println(io)
end
修改方式 Float64 显示,您只需要重新定义 writemime Float64 .
julia> 95000/0.05
1.9e6

julia> Base.Multimedia.writemime(stream,::MIME"text/plain",x::Float64)=@printf("%1.2f",x)
writemime (generic function with 13 methods)

julia> 95000/0.05
1900000.00

关于julia - Jula REPL 数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24580334/

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