numspell: Spelling Numbers as English
1 Introduction
> (number->english 123456) "one hundred twenty-three thousand four hundred fifty-six" 
> (number->english (/ 4 -6)) "negative two over three" 
> (number->english (exact->inexact (/ 4 -6))) "negative zero point six six six six six six" 
> (number->english (expt 10 15)) "one quadrillion" 
> (number->short-scale-english (expt 10 15)) "one quadrillion" 
> (number->long-scale-english (expt 10 15)) "one thousand billion" 
2 Interface
procedure
num : number? (number->short-scale-english num) → string? num : number? (number->long-scale-english num) → string? num : number? 
3 History
- Version 2:1 —2016-02-28 - Documentation tweak. 
 
- Version 2:0 —2016-02-28 - Moving from PLaneT to new package system. 
 
- Version 1:2 —2011-01-01 - Removed debug message. (Thanks to Eric Hanchrow for reporting.) 
- Adjusted test suite. 
 
- Version 1:1 —2009-02-24 - License is now LGPL 3. 
- Converted to author’s new Scheme administration system. 
- Test suite moved out of main file. 
- A descriptive error message is now generated when scale names are exhausted by a very large number. 
- Changed some if to and for PLT 4.x. 
 
- Version 1:0 —2006-05-07 - Initial release. 
 
4 Legal
Copyright 2006, 2009, 2011, 2016 Neil Van Dyke. This program is Free Software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See http://www.gnu.org/licenses/ for details. For other licenses and consulting, please contact the author.