如何在ROR中将阿拉伯数字Ascii代码转换为字符串?

时间:2010-05-26 07:31:49

标签: ruby ascii numbers

我想将我的英文数字寻呼机转换为阿拉伯数字寻呼机, 我有类似

的东西
<% @engnum = "0123456789" %>
<% @arabnum = "٠١٢٣٤٥٦٧٨٩" %>

<%= (@pagenumber).to_s.gsub(/./) {|s| @arabnum[@engnum.index(s)]} %>

但这显示ascii数字不是我需要的实际数字

知道如何显示实际字符串(数字) 请记住,这是阿拉伯数字,@arabnum[@engnum.index(s),1]不起作用

提前致谢

2 个答案:

答案 0 :(得分:4)

#encoding: utf-8
pagenumber = "512"
p pagenumber.tr("0123456789","٠١٢٣٤٥٦٧٨٩") 
#=>  "٥١٢"

答案 1 :(得分:0)

你应该试试

@pagenumber.to_s.gsub(/./) {|s| @arabnum[i=@engnum.index(s),i]}

有关此内容的详情,请阅读http://ruby-doc.org/core/classes/String.html#M000771