[Perl]碰到个小问题

软件和网站开发以及相关技术探讨
回复
头像
flwwater
帖子: 762
注册时间: 2010-10-31 9:15
系统: kubuntu 24.04

[Perl]碰到个小问题

#1

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

产生一个随机的自然数,在perl里怎样用最简单的方法截取‘个位数’的?
比如产生了一个$s=845的数(长度也是未知的,可能是3位,可能是5位),我只想知道个位数是多少(这里是5),实在想不出有什么办法啊!!! :em06
个人收藏的数百个精美动态壁纸:
https://url17.ctfile.com/d/15983117-593 ... 768?p=6220
(访问密码:6220


个人收藏的经典国语音乐和纯音乐(钢琴,笛子,二胡等):
https://url17.ctfile.com/d/15983117-446 ... 33e?p=6220
(访问密码:6220



如果访问密码不对,可试试这个密码 566816
头像
flwwater
帖子: 762
注册时间: 2010-10-31 9:15
系统: kubuntu 24.04

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
个人收藏的数百个精美动态壁纸:
https://url17.ctfile.com/d/15983117-593 ... 768?p=6220
(访问密码:6220


个人收藏的经典国语音乐和纯音乐(钢琴,笛子,二胡等):
https://url17.ctfile.com/d/15983117-446 ... 33e?p=6220
(访问密码:6220



如果访问密码不对,可试试这个密码 566816
头像
RavenChan
帖子: 25
注册时间: 2011-01-21 22:39

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
来自: 长沙

Re: [Perl]碰到个小问题

#4

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

(rand(10)
● 鸣学
cheeselee
帖子: 353
注册时间: 2008-07-09 0:39

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
来自: 长沙

Re: [Perl]碰到个小问题

#6

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

rand(10)不好吗?
perl都可以不要int取整的,直接使用小数就是。
● 鸣学
头像
flwwater
帖子: 762
注册时间: 2010-10-31 9:15
系统: kubuntu 24.04

Re: [Perl]碰到个小问题

#7

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

:em11
谢谢大家!问题解决了!
个人收藏的数百个精美动态壁纸:
https://url17.ctfile.com/d/15983117-593 ... 768?p=6220
(访问密码:6220


个人收藏的经典国语音乐和纯音乐(钢琴,笛子,二胡等):
https://url17.ctfile.com/d/15983117-446 ... 33e?p=6220
(访问密码:6220



如果访问密码不对,可试试这个密码 566816
头像
ChenFengyuan
帖子: 770
注册时间: 2008-03-23 0:39

Re: [Perl]碰到个小问题

#8

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

int($num)%10
回复