[Perl]碰到个小问题

Python/PHP/Perl 开发与设计
回复
flwwater
帖子: 507
注册时间: 2010-10-31 9:15
系统: kubuntu 18.04
送出感谢: 1 次
接收感谢: 13 次

[Perl]碰到个小问题

#1

帖子 flwwater » 2011-01-24 18:23

产生一个随机的自然数,在perl里怎样用最简单的方法截取‘个位数’的?
比如产生了一个$s=845的数(长度也是未知的,可能是3位,可能是5位),我只想知道个位数是多少(这里是5),实在想不出有什么办法啊!!! :em06
百度网盘 2048G容量 大放送!
百度网盘资源论坛一键保存资源!
flwwater
帖子: 507
注册时间: 2010-10-31 9:15
系统: kubuntu 18.04
送出感谢: 1 次
接收感谢: 13 次

Re: [Perl]碰到个小问题

#2

帖子 flwwater » 2011-01-24 19:09

:em03

$Len=length($s);
$s=substr($s,$L-1,1);

成功截取个位数!
以上方法可以截取任意长度的连续字符或数字。
:em02 :em05

本来想用最原始的方法的:)
...
if ($s>=10 && $s<20) {$s=$s-10;}
if ($s>=20 && $s<30) {$s=$s-20;}
...
if ($s>=10000 && $s<10010) {$s=$s-10000;}
...

笑。。。 :em02
百度网盘 2048G容量 大放送!
百度网盘资源论坛一键保存资源!
头像
RavenChan
帖子: 25
注册时间: 2011-01-21 22:39
送出感谢: 0
接收感谢: 0

Re: [Perl]碰到个小问题

#3

帖子 RavenChan » 2011-01-24 20:21

%10
........
Reality is the most imaginary thing
@rorvn
== Return of Raven
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: [Perl]碰到个小问题

#4

帖子 eexpress » 2011-01-25 9:15

(rand(10)
● 鸣学
cheeselee
帖子: 353
注册时间: 2008-07-09 0:39
送出感谢: 1 次
接收感谢: 0

Re: [Perl]碰到个小问题

#5

帖子 cheeselee » 2011-01-26 0:44

$s=substr($s, -1, 1); # 直接用负数就行,详见 perldoc -f substr

$s = $s % 10; # 最正常的办法就是模10取余,
7号机-----神舟 优雅A460P-i7G D2
CPU: i7-2670QM
RAM: 8G
HD:500G
OS:Fedora 17 x86_64

热衷话题:Package Management\Programming
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: [Perl]碰到个小问题

#6

帖子 eexpress » 2011-01-26 10:26

rand(10)不好吗?
perl都可以不要int取整的,直接使用小数就是。
● 鸣学
flwwater
帖子: 507
注册时间: 2010-10-31 9:15
系统: kubuntu 18.04
送出感谢: 1 次
接收感谢: 13 次

Re: [Perl]碰到个小问题

#7

帖子 flwwater » 2011-01-26 18:11

:em11
谢谢大家!问题解决了!
百度网盘 2048G容量 大放送!
百度网盘资源论坛一键保存资源!
头像
ChenFengyuan
帖子: 770
注册时间: 2008-03-23 0:39
送出感谢: 0
接收感谢: 4 次

Re: [Perl]碰到个小问题

#8

帖子 ChenFengyuan » 2011-01-27 20:09

int($num)%10
回复

回到 “Python/Php/Perl”