代码之家  ›  专栏  ›  技术社区  ›  Frank Krueger

如何将十六进制数字打印成Perl字符串?

  •  2
  • Frank Krueger  · 技术社区  · 15 年前

    ($r, $g, $b) = (255, 128, 0);
    

    我想打印如下字符串:

    "#FF8000"
    

    使用这些变量。

    我该怎么做?

    2 回复  |  直到 15 年前
        1
  •  11
  •   Sinan Ünür    15 年前
    my $rgb = sprintf '#%02X%02X%02X', $r, $g, $b;
    

    看见 sprintf printf .

        2
  •  3
  •   Brad Gilbert    15 年前

    你可以用 pack unpack ,以获取十六进制字符串。

    my $rgb = '#' . uc unpack 'H6', pack 'C3', $r, $g, $b;