Re: significant figures
- From: "Jochen Lehmeier" <OJZGSRPBZVCX@xxxxxxxxxxxxx>
- Date: Wed, 06 Jan 2010 11:36:49 +0100
On Tue, 05 Jan 2010 22:38:41 +0100, dan <spam.meplease@xxxxxxxxxxxx> wrote:
Whilst trying to create something that would parse a number into one with
an appropriate number of significant figures, I accidentally wrote this:
sub sigfig {
my ($sigfigs, $number) = @_;
$number = sprintf("%d",$number); # just in case...
return $number if if ($sigfgs > length($number);
my $divisor = 10**(length(int $number) - $sigfigs);
$number /= $divisor;
$number = sprintf "%1.0f", $number;
# instead:
$number = sprintf("%d",$number);
$number *= $divisor;
return $number
}
inadequacies,foibles and associated notwithstandings of the above code,
Well, if it works, it works.
A bit shorter:
$number = sprintf("%d",$number); # just in case...
return substr($number,0,$sigfigs) . ("0" x (length($number) - $sigfigs));
.
- References:
- significant figures
- From: dan
- significant figures
- Prev by Date: Re: Determine physical location of IP
- Next by Date: Regex, spaces in pattern stored in variable.
- Previous by thread: significant figures
- Next by thread: Re: significant figures
- Index(es):