使用Donald Knuth的Myriad (aka - yllion)数字命名方案将一个数字标量转换为一个给出数字值的字符串,例如1024e6 -> 'Ten Myllion 2400 Hundred Myriad',或'10;2400,0000'作为数字。
语法:
str = num2myriad (num)
str = num2myriad (num,本局)
输入数值四舍五入,输出精度定义为确保最小意外输出:单=6位;双= 15位数;而int/uint值的解析是完全精确的。该函数实现了一个高效的算法,不使用递归,只使用一个for循环。
###万象系统(又名Yllion)###
Donald Knuth的Myriad数字命名系统使用对数增加的组大小,更有效地使用组名:
10^0一
10 ^ 1十
10 ^ 200
10 ^ 4无数
10^8米利昂
10 ^ 16 byllion
10 ^ 32 tryllion
10 ^ 64 quadryllion
10 ^ 128 quintyllion
10 ^ 256 sextyllion
Knuth把这个单词的发音定义为“a million(读作mile-yun)”。
原始参考:“超自然数字”由Donald E.Knuth编写
(第310-325页,《数学加德纳》编辑大卫·A·克拉纳,1981年)
在线参考:
http://en.wikipedia.org/wiki/-yllion
http://mrob.com/pub/math/largenum-2.html
https://sites.google.com/site/pointlesslargenumberstuff/home/1/knuthyllions
###例子###
>>百万(0)
ans=‘零’
>>百万(1024)
ans = ' 1024 '
> > num2myriad (intmin (int16))
ans = '负3万数2768 '
> > num2myriad (intmin(“int16”),真的)
ans = ' 2768 '
> > num2myriad (9876543210)
ans = ' 98myllion 7654 Myriad 32210 '
> > num2myriad(9876543210,真的)
ans='98;7654,3210'
> > num2myriad (1 e64假)
ans = 'One quadyllion '
>>num2百万(1e64,真)
ans = ' 1:: 0000, 0000, 0000, 0000:0000, 0000; 0000; 0000; 0000年,0000年;0000年,0000:0000,0000;0000年,0000年
>> num2myriad(1e303) % aka one centibillion(short scale)
ans = 'Ten Hundred Myriad mybilliontrillion sexty万亿'
引用作为
斯蒂芬(2021)。数不胜数(//www.tatmou.com/matlabcentral/fileexchange/51261-number-to-myriad),MATLAB中心文件交换.
MATLAB版本兼容性
平台的兼容性
窗户 macOS Linux标签
确认
启发:text2speech-tts,num2english,语音合成,可变精度整数算法,号码到科学前缀,text2speechformatlab使用非官方的google服务,日期向量/数字ISO 8601日期字符串,可定制的自然顺序排序,ISO 8601日期字符串到串行日期编号,数字,Ordinal-String,号码的话,将数字转换为单词