Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.string.percent
on percent (numerator, denominator, rodPlaces=3) {
<<New verb: 4/8/00; 3:13:19 PM by DW
<<As usual, this code was cropping up all over the place. Better to get it into the standard distribution.
local (pct = "");
if numerator > 0 {
local (ratio = 100.0 * (double (numerator) / denominator));
local (s = string (ratio));
local (lod = string.nthfield (s, ".", 1));
local (rod = string.nthfield (s, ".", 2));
if sizeof (rod) > rodPlaces {
rod = string.mid (rod, 1, rodPlaces)}
else {
if sizeof (rod) < rodPlaces {
rod = rod + string.filledString (0, rodPlaces - sizeof (rod))}};
pct = lod + "." + rod};
return (pct)}
<<bundle //test code
<<dialog.alert (percent (121, 10000, 5))
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.