3
我是新來的朱莉婭,我想知道做這件事的最好,方便,可讀,最快的方法是什麼。在Julia中將int轉換爲char的最佳方式是什麼?
例如:5 - > '5'
我最好現在的做法是:
c = string(i)[1]
或
c = char('0'+i)
我是新來的朱莉婭,我想知道做這件事的最好,方便,可讀,最快的方法是什麼。在Julia中將int轉換爲char的最佳方式是什麼?
例如:5 - > '5'
我最好現在的做法是:
c = string(i)[1]
或
c = char('0'+i)
你提出的第二個答案是很容易理解,正確的是(對拉丁數字!),並且速度很快。
digittochar(d) = Char('0' + d)
根據上行數據的預期清潔度,您可以添加一些檢查,以確保你沒有得到意想不到的事情;所有
digittochar(6002) = អ
如果你想有一個朱莉婭function
,將一個整數內更換數字後,這裏的做到這一點的方法之一。真的沒有錯誤檢查,所以這對脆弱的輸入是脆弱的。
julia> function replace_int_digs{T <: Union(BigInt, Unsigned, Signed)}(x::T, locs::Vector{Int}, digs::Vector{Int})
x_str_array = split(string(x), "")
for (k, loc) in enumerate(locs)
x_str_array[loc] = string(digs[k])
end
return parseint(T, join(x_str_array))
end
replace_int_digs (generic function with 1 method)
julia> replace_int_digs(12345,[3],[9])
12945
julia> replace_int_digs(big(12345),[3],[9])
12945
julia> replace_int_digs(big(12345),[3,1],[9,7])
72945
julia> replace_int_digs(int32(12345),[3,1],[9,7])
72945
您打算如何處理您的「Char」? – rickhg12hs 2015-03-19 12:00:16
@ rickhg12hs:最終目標是用另一個數字替換整數的一些數字。例如35294 - > 31114 在處理整數時使用一個字符似乎沒有關係,但我的意圖僅次於這個問題。 – reschu 2015-03-19 14:34:02