我使用朱莉婭(0.4.6版本),我已經試過的方法是:在Julia中將Int轉換爲字符串的最佳方式是什麼?
a = 123
println( string(Int(a))*"b" )
它看起來長和尷尬。
我試過的另一種方法是將它寫入一個文件,然後讀取它。這顯然更糟。我想知道是否有推薦的方法。
我使用朱莉婭(0.4.6版本),我已經試過的方法是:在Julia中將Int轉換爲字符串的最佳方式是什麼?
a = 123
println( string(Int(a))*"b" )
它看起來長和尷尬。
我試過的另一種方法是將它寫入一個文件,然後讀取它。這顯然更糟。我想知道是否有推薦的方法。
我不知道你想在你的語法*"b"
完成什麼,但對於它的其餘部分:
julia> a = 123
123
julia> string(a)
"123"
julia> println(a)
123
的string()
功能也可以採取更多的參數:
julia> string(a, "b")
"123b"
請注意,在調用println()
之前,沒有必要將Int
類型轉換爲ASCIIString
- 轉換將自動進行。
您還可以插入(又名插值)的整數(和某些其他類型)到使用$
字符串:
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的有用評論的更新。
很好的答案。請注意'string()'和字符串插值一樣慢。實際上,字符串插值實際上會降低到「字符串」調用!鏈接的性能指南建議直接使用IO功能,這確實更快。 –
@FenggyangWang非常感謝您的提示!我已經相應更新。 –