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);
这是我 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);