编辑注意:此文件被选为Matlab Central挑选本周
num2words将数字标量转换为字符串,其中包含英文单词的数字值:例如,值1024返回为“一千和二十四”。num2words接受任何标准数字类的标量:单个,双,intx或uintx。整数类型以完整的精度解析,而浮动类型具有内部精度限制以确保最不意外的输出。选项允许用户选择:
*数字类型选择:序数/小数/支票/金钱/最高级别。
*大量数字或数量级的数量。
*高/较低/标题/句子案例。
*尾随零或没有。
*在幅度组之间使用逗号。
*在数十和那里之间使用连字符。
*使用“和”在数十/岁之前的使用(英国和英联邦英语所需)。
*值大于零值的“正”前缀
*编号规模:短/长/印度/粉末/ ROWLETT / KNUTH(-YLION)。
*货币单位名称(磅,便士,美元,美分,卢比等)。
###奖金函数/脚本###
* num2words_test包含数千个测试用例。
* num2words_demo将Num2Words的输出与真实世界示例进行了比较。
* num2words_rat将数字转换为字符串,单词的分数不当。
* num2wordsq是一个很少的版本,没有任何选项,但快速的两倍。
###反转换###
http://www.mathwands.com/matlabcentral/fileexchange/52925-words-to-number.
### 例子 ###
>> num2words(0)
ans ='zero'
>> Num2Words(1024)
ans ='一千和二十四'
>> Num2Words(-1024)
ans ='负一千和二十四'
>> Num2Words(1024,'pos',true,'case','title','hyphen',false)
ans ='积极一千和二十四'
>> Num2Words(1024,struct('类型','序号','case','句子'))
ans ='一千和第二十四'
>> Num2Words(1024,'和',false,'订单',1)%圆到数十。
ans ='一千二十'
>> Num2Words(PI,'order', - 10)%圆形到十进制数字
ans ='三点一四一五九二六五三六'
>> num2words(Intmax('uint64'),'sigfig',3,'逗号',false)
ans ='十八千万四百千克'
>> num2words(Intmax('uint64'),'sigfig',3,'类型','最高')
ans ='十八点四个幂码'
>> Num2Words(Intmax('uint64'),'sigfig',3,'scale','long')
ans ='十亿,四十万亿,四十万亿'
>> num2words(Intmax('uint64'),'sigfig',3,'case','title','scale','印度')
ans ='一个lakh,八十四十亿卢比'
>> Num2Words(Intmax('Uint64'),'订单',17,'case','上','scale','Knuth')
ans ='十八百四十大范围'
>> Num2Words(1234.56,'类型','检查','单位','euro')
ans ='一千,二百三十四欧元和五十六美分'
>> Num2Words(1234.56,'类型','检查','单位','磅|','亚基','便士|便士')
ans ='一千,二百三十四英镑和五十六便士'
>> num2words(101,'类型','money','单位','dalmatian |','case','title')
>> num2words(1001,'类型','money','单位','night |''''case','title')
>> Sprintf(在海底下',Num2Words(2E4,'类型','Money','单位','联盟|','案例','标题'))
斯蒂芬Cobeldick(2021年)。单词的号码(//www.tatmou.com/matlabcentral/fileexchange/47221-number-to译文),Matlab中央文件兑换。检索到。
灵感来自:text2speech - tts.那num2english.那文字转语音那可变精度整数算术那科学前缀号码那使用非官方的Google服务Text2用于Matlab那日期向量/号码到ISO 8601日期字符串那可定制的自然秩序排序那ISO 8601日期字符串到序列日期那数字到序数字符串那自然秩序行排序那自然订单文件名排序那将数字转换为单词那到无数的号码那单词到号码
启发:单词到号码那舍入到电子元件值那编号的科学前缀那到无数的号码那科学前缀号码那可定制的自然秩序排序那数字到序数字符串那自然秩序行排序那自然订单文件名排序那交互式正则表达式工具
哦,我猜我的第六星的承诺是一个空洞的,FEX有5星限制。:)
无论如何,完成了。这使我能够将数字转换为文本形式的所有东西。
根据John D'Errico的评论,现在支持金钱/支票号码类型。金宝app
John d'Errico:谢谢你的反馈。
货币“类型”将是有趣的,但将其限制在美元/美分肯定会在FEX上开始文化战争,并且亚基处理挑战:一些货币使用1/100以外的比例来定义亚基,几个货币甚至没有亚基,而日元有两个亚基。因此,它需要用户提供其货币名称/ s的选项,以及一些复杂的子单元处理,以及决定是否使用'仅''(value:否,检查:是)。由于“金钱”选项基本上只是重复函数的应用,我认为一个例子就足够了。
许多选择控制输出样式。良好的帮助。做得好。
我很惊讶不要看到直接的金钱选择。所以“美元”的“型”可能一直有用和有趣。我必须弄清楚如何给它一个额外的明星。