perl - 如何使用Perl将字符串转换为 float ?

标签 perl floating-point string-parsing

是否有像int()这样的函数可以将字符串转换为浮点值?
我当前正在使用以下代码:

$input=int(substr($line,1,index($line,",")-1));

我需要将substr返回的字符串转换为float。

最佳答案

只需使用它。在Perl中,看起来像数字的字符串就是数字。

现在,如果您想在使用之前确定该东西是一个数字,那么Scalar::Util中有一个实用程序方法可以执行此操作:

use Scalar::Util qw/looks_like_number/;

$input=substr($line,1,index($line,",")-1);

if (looks_like_number($input)) {
    $input += 1; # use it as a number!
}

根据您在注释中留下的样本输入,提取数字的更可靠的方法是:
$line =~ /([^\[\],]+)/; # <-- match anything not square brackets or commas
$input = $1;            # <-- extract match

关于perl - 如何使用Perl将字符串转换为 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019178/

相关文章:

java - 如何对 float 进行舍入但保持 float (即不将其转换为 int)?

c# - 字符串拆分的有效方式

Perl XML::Twig 问题请

perl - 确定Perl代码引用的子例程名称

perl - 使用 Perl 更新基于其他的 xml 属性值

c - 最大 float 分数

c++ - 如何在 C++ 中检查无限和不确定的值?

sql-server - 创建 SQL Server JSON 解析/查询 UDF

c# - 如何从这个字符串中获取日期?

perl - 如何替换一组搜索/替换对?