Perl cgi 字符串到浮点数

Perl cgi string to float number

这是我 html 文件中的内容

<form action="drinks.cgi" method="POST" target="re">
...
Quantity:<input name="Quan" type="number" step="any"> (ml)
<input style="margin-left:20px" type="submit" value="submit"/>
...
...
</form>

这就是 cgi 文件中的内容

my $quan = $conn->quote($cgi->param(Quan));
printf $quan;

假设我在输入

中输入222

我原以为它只会打印出 222 但它却打印出了 '222'... 我怎样才能去掉我的 cgi 文件中的两个 ' 以便我可以将该变量用于其他计算。

如果要在 Perl 中完成计算,请使用

my $quan = $cgi->param('Quan');

如果要在SQL中进行计算,则从上面开始,然后是

die if $quan !~ /^[0-9]+\z/;
my $quan_sqllit = $quan;

# The quotes aren't actually a problem.
my $quan_sqllit = $conn->quote($quan);

my $quan_sqllit = "CAST(".$conn->quote($quan)." AS INT)";

# Maybe. Depends on the implementation of $conn->quote.
my $quan_sqllit = $conn->quote(0+$quan);