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