图片缩略图

单词数量

版本2.1.0(35.3KB)由 史蒂芬
将字符串中的英文数字名称转换为数字值(GB/US)。

560下载

更新09年7月2020年

查看许可证

WORDS2NUM将英文单词中数字值为的字符串转换为数字向量:例如,字符串“壹仟贰拾肆”作为标量数字1024返回。WORDS2NUM接受包含零个或多个数字子字符串的字符串,并返回一个数字向量,每个检测到的数字子字符串包含一个元素。选项允许用户选择:

*输出数值向量的类:double、single、uintX或intX。
*大写/小写/标题/句子大小写。
单词之间使用空格。
*在震级组之间使用逗号。
*在十和一之间使用连字符。
*在十位数/一位数之前使用“and”(英联邦英语要求)。
*空格字符/ s
*编号比例:短/长/佩尔蒂埃/罗利特/克努特(-yllion)。

###奖金功能/脚本###

WORDS2NUM_TEST包含数千个测试用例。
* WORDS2NUM_DEMO将WORDS2NUM的输出与真实示例进行比较。

###反向转换###

//www.tatmou.com/matlabcentral/fileexchange/47221-number-to-words

# # # # # #例子

>>words2num('zero'))
ans=0

>>words2num('壹仟贰拾肆')
ans=1024
>>words2num('壹仟零贰拾肆’、'white'、'UUZ')
ans=1024
>>words2num('壹仟零贰拾肆','case','lower')
ans=4
>>words2num('壹仟零贰拾肆','case','upper')
ans = 20
>> words2num('One Thousand and 24 ',' case','title')
ans = 1000
>>words2num('壹仟贰拾肆','hyphen',false)
ans=[1020,4]
>> words2num('One Thousand and TWENTY-four', 'and',false)
ans =[24] 1000年,
>>words2num('壹仟零贰拾肆','suffix','-')
ans=1020

>> [num,spl] = words2num('负32的平方是1024 .')
num=[-321024]
SPL = {",' squared is ','.'}

>> [num,spl] = words2num(' 123英镑45便士')
num = (123, 45)
spl={'','磅和','便士'}

>>[num,spl]=words2num('pi=threepointonefouronefiveninetwosixfivethreefiveeight')
num=3.14159265358
spl={'pi=',''}

>> [num,spl] = words2num('一百零一条斑点狗')
num = 101
spl={'','Dalmatians'}

>> words2num('一百七十九unentillion ')
ans = 1.79 e + 308
>>words2num('一百八十亿美元')%%>realmax
ans=Inf
>> words2num(' 180 unentillion ',' class','int64')
ans = + 9223372036854775807
>>words2num(num2words(intmin('int64')),'class','int64')
ans = -9223372036854775808

>>words2num(‘一点零零二零零三万亿’)
ans = 1002003000000
>> words2num(' 1万亿,20亿,300万')
ans = 1002003000000
>> words2num('one trillion, twenty billion three million', 'comma',true, 'and',true)
ans=[100200000003000000]
>>words2num('1万亿,20亿,300万,'逗号',假)
ans = (1000000000000, 1000000000000)
>> words2num('one million million', 'mag','compound')
ans=1000000000000

>>words2num('10亿,'scale','short')
ans=100000000
>> words2num(' 100000000000 ',' scale','long')
ans=100000000
>> words2num('one million ',' scale',' peltier ')
ans=100000000
>> words2num(' 1 billion ',' scale','rowlett')
ans=100000000
>>words2num('ten myllion'、'scale'、'knuth')
ans=100000000

> > words2num(负无穷)
ans =负
>>words2num('Not-a-Number')
ans =南

引用为

斯蒂芬(2021)。单词数量(//www.tatmou.com/matlabcentral/fileexchange/52925-words-to-number), MATLAB中央文件交换。检索.