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.