在 Perl 中获取浮点数的精度?

lor*_*ara 2 string floating-point perl decimal

假设我有一个 Perl 变量:

my $string = "40.23";

my $convert_to_num = $string * 1;

有没有办法找到这个浮点值的精度?到目前为止,我的解决方案是简单地循环遍历字符串,找到“.”的第一个实例,然后开始计算小数位数,在本例中返回 2。我只是想知道是否有更优雅或内置的函数来处理这类事情。谢谢!

dad*_*nck 5

这是 $nstring 中“句号后的事物数量”的答案

length(($nstring =~ /\.(.*)/)[0]);
Run Code Online (Sandbox Code Playgroud)

匹配部分首先找到 . (\.),然后匹配其他所有内容 (.*)。由于 .* 在括号中,因此它作为第一个数组元素 ([0]) 返回。然后我用 length() 函数计算有多少个。