Message: 21
Date: Fri, 13 Jan 2006 15:40:10 -0800
From: Marty Knapp <[EMAIL PROTECTED]>
Subject: Formatting numbers
To: Revolution User List <use-revolution@lists.runrev.com>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Does somebody have a suggestion for formatting numbers with commas for a
printed report? It wil have columns of data, with numbers ranging from small to large. The larger ones are hard to read, so I'd like to insert
commas at the appropriate places. I can think of clunky ways to do it,
but thought I'd ask here in case someone had already brewed up something
nice.

Thanks,

Marty Knapp


Marty,

Here are a couple of number formatting functions I use a lot.

The first is the standard comma formatting and the second puts the number into scientific format.

For example, the number 12225677.98 formats to

Comma format: 12,225,677.98
Scientific format 1.22*10^7

Jim

function commaFormat tNum
  put tNum mod 1 into remainder
  delete char 1 of remainder
  put trunc(tNum) into tNum
  put the number of chars in tNum into n
  repeat with i = 1 to trunc((n-1)/3)
    put comma after char n - 3*i of tNum
  end repeat
  return tNum& remainder
end commaformat

function sciFormat tNum,sigFigures
  if tNum < 0 then
    put "-" into sign
  else put empty into sign
  put abs(tNum) into tNum
if sigFigures is empty then put 3 into sigFigures --Default significant figures.
  put 0 into count
  if tNum >= 1 then
    repeat until tNum < 10
      divide tNum by 10
      add 1 to count
    end repeat
    put round((10^(sigFigures-1))*tNum)/10^(sigFigures-1) into tNum
    return sign & (char 1 to sigFigures + 1 of tNum) &"*10^" & count
  end if
  if tNum < 1 then
    repeat until tNum >= 1
      multiply tNum by 10
      add 1 to count
    end repeat
  end if
  return sign & (char 1 to sigFigures + 1 of tNum) & "*10^-" & count
end sciFormat
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to