这星期临时需要一个将英文的数字值, 转换成 阿拉伯数字的程序, 发现怎么找都是 数字 => 英文, 就是找不到 英文 => 数字.(需求就是同 English-Number Translator 这篇).
大致要做的就是如下的例子:
six => 6
negative seven hundred twenty nine => -729
one million one hundred one => 1000101
找不到就只好自己写一个, 主要是用下面这个 Array 来做, 意思就是不在此 Array 的, 此 function 就没办法做转换了.(超过 billion 的, php 的 integer 长度也不够, 不然应该是直接加进 array mapping 就可以动了)
$english2number = array(
'negative' => -1,
'zero' => 0,
'one' => 1,
'two' => 2,
'three' => 3,
'four' => 4,
'five' => 5,
'six' => 6,
'seven' => 7,
'eight' => 8,
'nine' => 9,
'ten' => 10,
'eleven' => 11,
'twelve' => 12,
'thirteen' => 13,
'fourteen' => 14,
'fifteen' => 15,
'sixteen' => 16,
'seventeen' => 17,
'eighteen' => 18,
'nineteen' => 19,
'twenty' => 20,
'thirty' => 30,
'forty' => 40,
'fifty' => 50,
'sixty' => 60,
'seventy' => 70,
'eighty' => 80,
'ninety' => 90,
'hundred' => 100,
'thousand' => 1000,
'million' => 1000000,
'billion' => 1000000000,
);
使用方法: English2ArabicNumeral('one hundred thousand and thirty four hundred') => 103400
某长辈指导, 程序要 Release 要记得写 License, 所以挑一个最短的 License 来写, 就选 MIT License 吧~
不过, 这类 Release, 我是比较偏好 GPL, 希望有人改良程序, 可以告诉我~, 但是 GPL 太长了.. 放弃.... 还是用 MIT 吧~