在Julia中将Int转换为String的最佳方法是什么?

时间:2016-07-30 17:22:33

标签: string types julia

我正在使用Julia(版本0.4.6),我尝试的方法是:

a = 123 
println(  string(Int(a))*"b"  )

看起来很长很尴尬。

我尝试过的另一种方法是将其写入文件,然后阅读它。这显然更糟。我想知道是否有推荐的方法。

1 个答案:

答案 0 :(得分:8)

我不确定您在语法中使用*"b"尝试完成的任务,但其余部分:

julia> a = 123
123

julia> string(a)
"123"

julia> println(a)
123

string()函数也可以使用更多参数:

julia> string(a, "b")
"123b"

请注意,在调用Int之前,无需将ASCIIString类型转换为println() - 转换将自动进行。

您还可以使用$将整数(以及某些其他类型)插入(也称为插值)整数字符串:

julia> MyString = "my integer is $a"
"my integer is 123"

性能提示:上述方法有时非常方便。但是,如果您要执行许多此类操作并且您担心代码的执行速度,那么Julia performance guide建议不要这样做,而是支持以下方法:

您可以向print()println()提供多个参数,这些参数将在string()对多个参数进行操作时对其进行操作:

julia> println(a, "b")
123b

或者,在写入文件时,您可以类似地使用,例如

open("/path/to/MyFile.txt", "w") do file
    println(file, a, "b", 13)
end

file = open("/path/to/MyFile.txt", "a")
println(file, a, "b", 13)
close(file)

这些更快,因为它们避免需要首先从给定的部分形成一个字符串,然后将其输出(或者输出到控制台显示或文件),而只是顺序输出各个部分。

注意:答案会根据@Fengyang Wang的有用评论反映更新。