URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 43989
[ Назад ]

Исходное сообщение
"в Перл отрезать пару символов после запятой"

Отправлено StasV , 14-Май-04 23:26 
Забыл как в Перл отрезать пару символов после запятой.
есть: 7.22642807983482
надо сделать: 7,22

Содержание

Сообщения в этом обсуждении
"в Перл отрезать пару символов после запятой"
Отправлено Вася , 15-Май-04 13:20 
>Забыл как в Перл отрезать пару символов после запятой.
>есть: 7.22642807983482
>надо сделать: 7,22
sprintf юзай
например:

$d=7.22642807983482;
$dn=sprintf('%.2f',$d);
print $dn;

'%.2f' 2 - это требуемое кол-во знаков после запятой после округления числа, ставишь требуемое значение.
Удачи.


"в Перл отрезать пару символов после запятой"
Отправлено StasV , 15-Май-04 13:41 
Так отлично :) Спасибо, только как сделать чтобы не округлялось?
Нужно именно не округлить, а просто отсечь.
Заранее Вам спасибо.

"в Перл отрезать пару символов после запятой"
Отправлено Асен Тотин , 15-Май-04 22:15 
Привет,

Дешево и сердито:

$d=7.22642807983482;
$d = (int($d*100))/100;

Если нужно другое количество знаков, меняеш число 100...

WWell,


"в Перл отрезать пару символов после запятой"
Отправлено Асен Тотин , 15-Май-04 22:17 
... Хотя можно и чуть умнее, например:

$d=7.22642807983482;
@dd = split (/\./,$d);
$dd[1] = (int($dd[1]*100))/100;
$d = "$dd[0].$dd[1]";

WWell,


"в Перл отрезать пару символов после запятой"
Отправлено StasV , 16-Май-04 01:26 
>Привет,
>
>Дешево и сердито:
>
>$d=7.22642807983482;
>$d = (int($d*100))/100;
>
Этот пример подошел, спасибо, а следующий нет :)