Автор Тема: Perl vs Числа  (Прочитано 7338 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Perl vs Числа
« Ответ #15 : 19 Ноября 2003, 16:40:16 »
Цитировать
C++:
Можно сделать проще и без проверок

1.1 ?
-1.1 ?
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Perl vs Числа
« Ответ #16 : 19 Ноября 2003, 21:01:45 »
vladsu
Тоже самое, только передавать нужно целое число :)
На самом деле, речь шла только о натуральных числах, о рациональных и отрицательных числах не было сказано ни слова....

А если надо, чтобы отрицательные числа округлялись к меньшему десятку, то use roundABS :)


#!/usr/bin/perl 
@digits=(-1.1,1.2,14.7,-23.5,49.5,-55.7,20.9,-70,-92,56,31,49,80);
print 
"Digit| rABS | ABS |\\n";
print 
"----- ------ -----\\n";
foreach 
$digit (@digits

  
printf("%5.1f|%6d|%5d|\\n",$digit,roundABS(int($digit)),round(int($digit)));

sub round 

  return(
$_[0]-$_[0]%10+10*($_[0]%10!=0)) 
}
sub roundABS
{
  return(
$_[0]-$_[0]%10+10*($_[0]%10!=0)*($_[0]>0)) 
}



Digit
rABS ABS |
----- ------ -----
 -
1.1|   -10|    0|
  
1.2|    10|   10|
 
14.7|    20|   20|
-
23.5|   -30|  -20|
 
49.5|    50|   50|
-
55.7|   -60|  -50|
 
20.9|    20|   20|
-
70.0|   -70|  -70|
-
92.0|  -100|  -90|
 
56.0|    60|   60|
 
31.0|    40|   40|
 
49.0|    50|   50|
 
80.0|    80|   80|

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28