как число из вида 1.5 привести к виду 1:50 ?
>как число из вида 1.5 привести к виду 1:50 ?
пока сделал так:
$var=1.5;
$var=$var."0";
$var=~s/\./:/;
print "$var";
коряво ,наверно.
попроще можно как то сделать?
>>как число из вида 1.5 привести к виду 1:50 ?
>пока сделал так:
>$var=1.5;
>$var=$var."0";
>$var=~s/\./:/;
>print "$var";
>коряво ,наверно.
>попроще можно как то сделать?
s/(\d)\.(\d)/$1:${2}0/
>
>s/(\d)\.(\d)/$1:${2}0/
Alchie,как всегда помог.
Спасибо.
>>
>>s/(\d)\.(\d)/$1:${2}0/
>Alchie,как всегда помог.
>Спасибо.Я ,наверное, непроходимый тупица , но не могу сделать следующее преобразование:
Если число вида 1.5 то преобразовать к виду 1:50, если число целое , то преобразовать к виду 1:00.
>>>
>>>s/(\d)\.(\d)/$1:${2}0/
>>Alchie,как всегда помог.
>>Спасибо.
>
> Я ,наверное, непроходимый тупица , но не могу сделать следующее преобразование:
>
>Если число вида 1.5 то преобразовать к виду 1:50, если число целое
>, то преобразовать к виду 1:00.
perl -e '$a=1.5; ($a=sprintf("%.2f",$a))=~s/\./:/; print $a'
1:50
perl -e '$a=1; ($a=sprintf("%.2f",$a))=~s/\./:/; print $a'
1:00
не надо только забывать, что sprintf("%.2f" _округляет_ число до двух знаков после запятой1.325 ==> 1.33
1.323 ==> 1.32
>
>perl -e '$a=1.5; ($a=sprintf("%.2f",$a))=~s/\./:/; print $a'
>1:50
>perl -e '$a=1; ($a=sprintf("%.2f",$a))=~s/\./:/; print $a'
>1:00
>
>
>не надо только забывать, что sprintf("%.2f" _округляет_ число до двух знаков после
>запятой
>
>1.325 ==> 1.33
>1.323 ==> 1.32
Здесь немного посложнее получилось.
Alchie, спасибо за помошь!
>>
>>perl -e '$a=1.5; ($a=sprintf("%.2f",$a))=~s/\./:/; print $a'
>>1:50
>>perl -e '$a=1; ($a=sprintf("%.2f",$a))=~s/\./:/; print $a'
>>1:00
>Здесь немного посложнее получилось.
>Alchie, спасибо за помошь!можно сделать более читабельно?
$a=1.5;
$a=sprintf("%.2f",$a);
$a=~s/\./:/;
print $a;абсолютно тоже самое