LINUX.ORG.RU

perl sprintf (строки)


0

0

$а = 10.255
$b = sprintf("%.5s". $a);
Данный пример приводит из 10.255 в 10.25
А как сделать чтоб приводилось из 10.255 в 0.255
т.е. не с конца строки, а сначала...

★★

Решил так:
$а = 10.255
reverse $a; 
$b = reverse (sprintf("%.5s", $a));

может еще есть варианты?
ps число динамическое (5s,7s,23s,...), желательно без условий (if,while,...)

lioncub ★★
() автор топика
Ответ на: комментарий от lioncub

> а как ты задашь регекспам число сколько надо отрезать без условий?

$ perl -e '$a = "10.255"; $a =~ /.{2}(.*)/; print "$1\n";'
.255

или что Вам нужно ?

Eshkin_kot ★★
()
Ответ на: комментарий от lioncub

...\.(\d+)

отрезать три символа перед точкой и оставить только число. как грязи короче если регекспы

vilfred ☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.