查看: 1577|回复: 6

求一个函数

  [复制链接]

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

发表于 2009-1-29 02:41:29 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
求一个把2~36进制数转成10进制的函数输入(a-z+0~9)
返回Integer
def n210(n,m)
  ss="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_@"
  q = {}
  
  for i in 0 .. 9
    q[i.to_s] = i.to_s
  end
  for i in 11..11+26
    q[ss.chr] = i.to_s
  end
  a = ss[1,n]
  m = m.to_s
  t = 0
  c = 1
  #for j in (m.size-1)..1
  j = m.size-1
  while j > -1
    t+=c*q[m[j].chr].to_i
    c*=n
    j = j-1
  end
  p (10).to_s(16)
  return t
end
这个可以但是遇到10你自己试吧
哎呀,蛋疼什么的最有爱了

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

 楼主| 发表于 2009-1-29 02:43:07 | 显示全部楼层
比如10转成11进制(任何一个大于10进制的进制) 在转回来=====
数学好的帮咱盖盖,ThankYou
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2009-1-29 03:07:49 | 显示全部楼层
p 21.to_s(11)
p "1a".to_i(11)

这样?
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

 楼主| 发表于 2009-1-29 03:19:12 | 显示全部楼层
.to_s是把字符串当作10进制处理
我要的是N转10不是10转N
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2009-1-29 03:47:21 | 显示全部楼层
你是不是要把十进制的21变成十一进制的1a,然后再把十一进制的1a变成十进制的21?
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

天仙

梦石
0
星屑
720
在线时间
184 小时
注册时间
2008-4-15
回帖
4872

贵宾

发表于 2009-1-29 03:53:35 | 显示全部楼层
(21.to_s(11)).to_i(11)
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复

使用道具 举报

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

 楼主| 发表于 2009-1-29 04:53:30 | 显示全部楼层
以下引用亿万星辰于2009-1-28 19:47:21的发言:

你是不是要把十进制的21变成十一进制的1a,然后再把十一进制的1a变成十进制的21?

= -
10转N用to_s(n)就可以了
N转10呢
以下引用snstar2006于2009-1-28 19:53:35的发言:

(21.to_s(11)).to_i(11)

谢谢了
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部