有没有人知道免费许可的PHP代码会将数字转换为西班牙语单词?
我的工作需要它来生成账单,所以它需要准确
我对西班牙语的了解几乎不存在,所以很难自己写出来;我对西班牙语语一无所知。
编辑:我已经编写了我自己的版本,现在它仅适用于3位数字(在小数点的两边),但这是一个好的开始。如果我说得很大(5种语言计划atm),我可能会在github上分享它。不要赌它。
答案 0 :(得分:6)
您可以使用PHP Intl扩展来执行此操作。
if (version_compare(PHP_VERSION, '5.3.0', '<')
|| !class_exists('NumberFormatter')) {
exit('You need PHP 5.3 or above, and php_intl extension');
}
$formatter = new \NumberFormatter('es', \NumberFormatter::SPELLOUT);
echo $formatter->format(1234567) . "\n";
输出:
unmillóndoscientostreinta y cuatro mil quinientos sesenta y siete
它不仅适用于西班牙语,也适用于许多其他语言。
答案 1 :(得分:3)
Is there an easy way to convert a number to a word in PHP?
从上面,您可以从数字中派生出“单词”,然后使用任何Translate API将其翻译成您喜欢的任何语言......或者您自己的查找。
修改强>
您可以采用的另一种方法是在PHP文件或文本文件中硬编码大量值:
$numTranslation = array(1 => "uno", 2 => "dos");
然后,在您的代码中,如果数字为2,则只需检索echo $numTranslation[2]
即可打印出西班牙语等效字段。
修改2
只是为了让它更完整,如果你想支持多种语言,而不仅仅是西班牙语:
$numTranslation = array(
1 => array("en" => "One", "es" => "uno"),
2 => array("en" => "Two", "es" => "dos")
);
并将其打印给最终用户:echo $numTranslation[2]['es'];
以获得西班牙语等价物......
答案 2 :(得分:1)
我唯一能找到的是Perl script。
代码本身很容易用PHP编写,从Perl脚本中你可以得到数字的逻辑和西班牙语单词。
答案 3 :(得分:0)
这是...... 1到100 http://www.top-tour-of-spain.com/1-100-Numbers-In-Spanish.html
100 +
http://www.intro2spanish.com/vocabulary/numbers/advanced.htm
或
http://www.donquijote.org/spanishlanguage/numbers/numbers2.asp
我在这里找到了一些格式很好的VBA:
http://www.excelforum.com/excel-programming/637231-translating-numbers-into-words.html