Как я могу преобразовать строку в число в Perl?

У меня есть строка, которая содержит десятичное значение в нем, и я должен преобразовать ту строку в переменную с плавающей точкой. Таким образом, пример строки, которую я имею, "5.45", и я хочу эквивалент с плавающей точкой, таким образом, я могу добавить.1 к нему. Я искал вокруг Интернета, но я только вижу, как преобразовать строку в целое число.

82
задан Vadim Kotov 26 October 2019 в 10:20
поделиться

3 ответа

Вы не должны преобразовывать его вообще:

% perl -e 'print "5.45" + 0.1;'
5.55
89
ответ дан Alnitak 24 November 2019 в 09:04
поделиться

Perl является основанным на контексте языком. Это не делает своей работы согласно данным, которые Вы даете ему. Вместо этого это выясняет, как рассматривать данные на основе операторов, которые Вы используете и контекст, в котором Вы используете их. Если Вы делаете виды чисел вещей, Вы получаете числа:

# numeric addition with strings:
my $sum = '5.45' + '0.01'; # 5.46

, Если Вы делаете строковые виды вещей, Вы получаете строки:

# string replication with numbers:
my $string = ( 45/2 ) x 4; # "22.522.522.522.5"

Perl главным образом выясняет, что сделать, и это главным образом правильно. Другой способ сказать то же самое состоит в том, что Perl заботится больше о глаголах, чем это делает существительные.

Вы пытаетесь сделать что-то, и это не работает?

40
ответ дан Rop 24 November 2019 в 09:04
поделиться

Perl действительно только имеет три типа: скаляры, массивы и хеши. И даже что различие является спорным.;) способ, которым рассматривают каждую переменную, зависит от того, что Вы делаете с ним:

% perl -e "print 5.4 . 3.4;"
5.43.4


% perl -e "print '5.4' + '3.4';"
8.8
3
ответ дан brian d foy 24 November 2019 в 09:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: