Автор Тема: Как строковую переменную перевести в число?  (Прочитано 3979 раз)

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

Оффлайн LEO

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kimsite.wallst.ru
Тупой, но важный вопрос.
Как из строковой переменной $old = "12" получить числовую переменную $new = 12.
Иначе говоря, как взятое из файла значение перевести в число.
Просмотрел инфу по Perl - не нашел. Может плохо искал, но...
Мой сайт - http://kimsite.wallst.ru

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Цитировать
LEO (01-05-2001 11:50):
Тупой, но важный вопрос.
Как из строковой переменной $old = "12" получить числовую переменную $new = 12.
Иначе говоря, как взятое из файла значение перевести в число.
Просмотрел инфу по Perl - не нашел. Может плохо искал, но...
$new = $old :)
2B OR NOT 2B = FF

Оффлайн LEO

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kimsite.wallst.ru
Цитировать
Chs (01-05-2001 12:46):
$new = $old :)
В том-то и дело, что не все так просто.
Приравнивая $new = $old - получаем что $new = "12" - т.е. строковую переменную.
Мне нужно прибавить к числу из файла единицу и опять его туда записать, но в другую строку.
Мой сайт - http://kimsite.wallst.ru

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Цитировать
LEO (01-05-2001 17:20):
В том-то и дело, что не все так просто.
Приравнивая $new = $old - получаем что $new = "12" - т.е. строковую переменную.
Мне нужно прибавить к числу из файла единицу и опять его туда записать, но в другую строку.
$new = "12";
print ++$new;
Как думаешь, что напечатается?

$new = "abc";
print ++$new;
А так?
2B OR NOT 2B = FF

Оффлайн Аналитик

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
Прикол весь в том, что в Perl нет различия между строковыми и числовыми переменными. Если у тебя $old="12", то он рассматривается и как числовая и как строковая переменная.
Поясняю на примере:
$new=$old.\'her\'  # получается 12her
или
$new=++$old #получается 13
Усек? Это не долбанные Паскаль и сам автоматически распознает тип переменной. Очень удобно, не надо ломать голову над лишними задачами.
______________________
Я бы сдал сопромат, поступил на физмат, да очки запотели...

  • Гость
Да, да, я уде понял.
Разобрался.
Спасибо всем за помощь.

 

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