数组哈希中缺少零

时间:2014-08-05 04:12:14

标签: arrays perl hash

有谁知道为什么“1.30”中的0没有出现?

代码:

#!/usr/bin/perl 

our %mb_version = (
'TXA4' => [1.30, 1.23],
);

foreach (@{$mb_version{'TXA4'}}) {
  print "$_\n";
}

输出:

1.3
1.23

3 个答案:

答案 0 :(得分:3)

如果您确定版本号有2位小数,则可以执行以下操作:

foreach (@{$mb_version{'TXA4'}}) {
  printf "%.2f\n", $_;
}

否则,您可以使用字符串(不是浮点数)来存储版本号。

答案 1 :(得分:1)

你也可以试试这个......

foreach (@{$mb_version{'TXA4'}}) {
  sprintf("%02f", $_);
}

答案 2 :(得分:0)

我避免将答案建议明确地格式化为两位小数,并且更喜欢将版本标识符存储为字符串,这是他们真正想要的。 E.g。

our %mb_version = (
    'TXA4' => [qw/1.30, 1.23/],
);