У меня есть строка, которая содержит десятичное значение в нем, и я должен преобразовать ту строку в переменную с плавающей точкой. Таким образом, пример строки, которую я имею, "5.45", и я хочу эквивалент с плавающей точкой, таким образом, я могу добавить.1 к нему. Я искал вокруг Интернета, но я только вижу, как преобразовать строку в целое число.
Вы не должны преобразовывать его вообще:
% perl -e 'print "5.45" + 0.1;'
5.55
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 заботится больше о глаголах, чем это делает существительные.
Вы пытаетесь сделать что-то, и это не работает?
Perl действительно только имеет три типа: скаляры, массивы и хеши. И даже что различие является спорным.;) способ, которым рассматривают каждую переменную, зависит от того, что Вы делаете с ним:
% perl -e "print 5.4 . 3.4;"
5.43.4
% perl -e "print '5.4' + '3.4';"
8.8