Я новичок в Julia, и мне было интересно, какой лучший, удобный, читаемый и быстрый способ сделать это.Каков наилучший способ преобразования int в char в Julia?
Пример: 5 -> '5'
Мой лучший подход сейчас:
c = string(i)[1]
или
c = char('0'+i)
Я новичок в Julia, и мне было интересно, какой лучший, удобный, читаемый и быстрый способ сделать это.Каков наилучший способ преобразования int в char в Julia?
Пример: 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
@ rickhg12hs: Конечная цель состояла в том, чтобы заменить некоторые цифры целого на другую цифру. например 35294 -> 31114 Использование символа при работе с целыми числами кажется несвязанным, но мое намерение было вторичным по отношению к вопросу. – reschu