Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在Julia中,将int转换为char的最佳方法是什么?_Julia - Fatal编程技术网

什么';在Julia中,将int转换为char的最佳方法是什么?

什么';在Julia中,将int转换为char的最佳方法是什么?,julia,Julia,我是朱莉娅的新手,我想知道最好的、方便的、可读的、最快的方法是什么 示例:5->“5” 目前我最好的方法是: c = string(i)[1] 或 您建议的第二个答案很容易理解、正确(对于拉丁数字!)并且快速 digittochar(d) = Char('0' + d) 根据上游数据的预期清洁度,您可以添加一些检查,以确保不会得到意外的结果;毕竟 digittochar(6002) = អ 如果您想要一个Julia函数来替换整数中的数字,这里有一种方法。实际上没有错误检查,所以这对于疯狂的

我是朱莉娅的新手,我想知道最好的、方便的、可读的、最快的方法是什么

示例:5->“5”

目前我最好的方法是:

c = string(i)[1]


您建议的第二个答案很容易理解、正确(对于拉丁数字!)并且快速

digittochar(d) = Char('0' + d)
根据上游数据的预期清洁度,您可以添加一些检查,以确保不会得到意外的结果;毕竟

digittochar(6002) = អ

如果您想要一个Julia
函数
来替换整数中的数字,这里有一种方法。实际上没有错误检查,所以这对于疯狂的输入是脆弱的

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                                                                                                                                                     
julia>function replace_int_digs{T replace_int_digs(12345,[3],[9])
12945
julia>替换内部挖掘(大(12345),[3],[9])
12945
julia>替换内部挖掘(大(12345),[3,1],[9,7])
72945
julia>替换int digs(int32(12345),[3,1],[9,7])
72945

你打算如何处理你的
Char
?@rickhg12hs:最终目标是用另一个数字替换整数的一些数字。例如,35294->31114在处理整数时使用字符似乎无关,但我的意图是次要的。从Julia 1.5开始,Char()不需要:
'0'+d
直接生成一个字符。
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