X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FUI%2Fbytecount.pm;h=d278dbecc86b7625c7e4a89a9d7d6d490a2bc960;hb=4776afec802191dac6dcaffe04c8295b57f01c57;hp=c2352da647440084f593a00343c349f44f53332f;hpb=b720d1c49ddb8eb87918b1344975492a87b40c33;p=freeside.git diff --git a/FS/FS/UI/bytecount.pm b/FS/FS/UI/bytecount.pm index c2352da64..d278dbecc 100644 --- a/FS/FS/UI/bytecount.pm +++ b/FS/FS/UI/bytecount.pm @@ -3,7 +3,7 @@ package FS::UI::bytecount; use strict; use vars qw($DEBUG $me); use FS::Conf; -use Number::Format; +use Number::Format 1.50; $DEBUG = 0; $me = '[FS::UID::bytecount]'; @@ -42,20 +42,21 @@ sub bytecount_unexact { Accepts a number (digits and a decimal point) possibly followed by k, m, g, or t (and an optional 'b') in either case. Returns a pure number representing -the input or the input itself if unparsable. +the input or the input itself if unparsable. Discards commas as noise. =cut sub parse_bytecount { my $bc = shift; return $bc if (($bc =~ tr/.//) > 1); - $bc =~ /^\s*([\d.]*)\s*([kKmMgGtT]?)[bB]?\s*$/ or return $bc; + $bc =~ /^\s*([,\d.]*)\s*([kKmMgGtT]?)[bB]?\s*$/ or return $bc; my $base = $1; + $base =~ tr/,//d; return $bc unless length $base; my $exponent = index ' kmgt', lc($2); return $bc if ($exponent < 0 && $2); $exponent = 0 if ($exponent < 0); - return $base * 1024 ** $exponent; + return int($base * 1024 ** $exponent); #bytecounts are integer values } =item display_bytecount AMOUNT