http://www.perlmonks.org?node_id=1027330


in reply to Rounding with sprintf and -0

Since you just want an unsigned 0, use %u and String::Sprintf:
#!/usr/bin/perl -l use strict; use warnings; use String::Sprintf; my $formatter = String::Sprintf->formatter( F => sub { my($width, $value, $values, $letter) = @_; my $s = sprintf "%${'width'}f", $value; $s =~ s/\.?0*$//; return $s; } ); print $formatter->sprintf( "%u", -0.5 );

Replies are listed 'Best First'.
Re^2: Rounding with sprintf and -0
by Anonymous Monk on Apr 07, 2013 at 07:17 UTC

    and String::Sprintf:

    No Khen1950fx , even sprintf has %u, not that you need to sprintf twice