我有一个包含数字列表的文件,如下所示:
10^-92
2 10^-14
10^-105
3 10^-20
进一步解释
10^-92
本质上是 1E-92
和 2 10^-14
是 2E^-14
.是否有一种紧凑的方法可以将上述文件中的数字转换为 Perl 数字?最后,我想按数字对这些数字进行排序。
最佳答案
如果您的所有数字都需要相同的转换才能成为 Perl 的数字,为什么不使用正则表达式替换:
use 5.010;
my @nums = ('10^-92', '2 10^-14', '10^-105', '3 10^-20');
s{ (\d*) \s* 10\^ }{ ($1 || 1) . 'e' }xe for @nums;
say "@nums"; # 1e-92 2e-14 1e-105 3e-20
关于perl - 如何在 Perl 中将像 3 10^-20 这样的字符串转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642149/