此处为全站公告,通常对读者进行申明或对该WIKI某些规则进行公告,请在确认后修改本通告。
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~
编辑全站公告 • 编辑帮助:目录 • BWIKI反馈留言板
数字对照表
阅读
2026-05-04更新
最新编辑:astatine_213
阅读:
更新日期:2026-05-04
最新编辑:astatine_213
| 游戏词缀 (短标尺) | 科学计数法 |
|---|---|
| (无) | 10^0 |
| thousand | 10^3 |
| million | 10^6 |
| billion | 10^9 |
| trillion | 10^12 |
| quadrillion | 10^15 |
| quintillion | 10^18 |
| sextillion | 10^21 |
| septillion | 10^24 |
| octillion | 10^27 |
| nonillion | 10^30 |
| decillion | 10^33 |
| undecillion | 10^36 |
| duodecillion | 10^39 |
| tredecillion | 10^42 |
| quattuordecillion | 10^45 |
| quindecillion | 10^48 |
| sexdecillion | 10^51 |
| septendecillion | 10^54 |
| octodecillion | 10^57 |
| novemdecillion | 10^60 |
| vigintillion | 10^63 |
| unvigintillion | 10^66 |
| duovigintillion | 10^69 |
| trevigintillion | 10^72 |
| quattuorvigintillion | 10^75 |
| quinvigintillion | 10^78 |
| sexvigintillion | 10^81 |
| septenvigintillion | 10^84 |
| octovigintillion | 10^87 |
| novemvigintillion | 10^90 |
| trigintillion | 10^93 |
| untrigintillion | 10^96 |
| duotrigintillion | 10^99 |
| tretrigintillion | 10^102 |
| quattuortrigintillion | 10^105 |
| quintrigintillion | 10^108 |
| sextrigintillion | 10^111 |
| septentrigintillion | 10^114 |
| octotrigintillion | 10^117 |
| novemtrigintillion | 10^120 |
| quadragintillion | 10^123 |
| unquadragintillion | 10^126 |
| duoquadragintillion | 10^129 |
| trequadragintillion | 10^132 |
| quattuorquadragintillion | 10^135 |
| quinquadragintillion | 10^138 |
| sexquadragintillion | 10^141 |
| septenquadragintillion | 10^144 |
| octoquadragintillion | 10^147 |
| novemquadragintillion | 10^150 |
| quinquagintillion | 10^153 |
| unquinquagintillion | 10^156 |
| duoquinquagintillion | 10^159 |
| trequinquagintillion | 10^162 |
| quattuorquinquagintillion | 10^165 |
| quinquinquagintillion | 10^168 |
| sexquinquagintillion | 10^171 |
| septenquinquagintillion | 10^174 |
| octoquinquagintillion | 10^177 |
| novemquinquagintillion | 10^180 |
| sexagintillion | 10^183 |
| unsexagintillion | 10^186 |
| duosexagintillion | 10^189 |
| tresexagintillion | 10^192 |
| quattuorsexagintillion | 10^195 |
| quinsexagintillion | 10^198 |
| sexsexagintillion | 10^201 |
| septsexagintillion | 10^204 |
| octosexagintillion | 10^207 |
| octosexagintillion (bug,应为 novemsexagintillion) | 10^210 |
| septuagintillion | 10^213 |
| unseptuagintillion | 10^216 |
| duoseptuagintillion | 10^219 |
| treseptuagintillion | 10^222 |
| quinseptuagintillion | 10^225 |
| sexseptuagintillion | 10^228 |
| septseptuagintillion | 10^231 |
| octoseptuagintillion | 10^234 |
| novemseptuagintillion | 10^237 |
| octogintillion | 10^240 |
| unoctogintillion | 10^243 |
| duooctogintillion | 10^246 |
| treoctogintillion | 10^249 |
| quattuoroctogintillion | 10^252 |
| quinoctogintillion | 10^255 |
| sexoctogintillion | 10^258 |
| septoctogintillion | 10^261 |
| octooctogintillion | 10^264 |
| novemoctogintillion | 10^267 |
| nonagintillion | 10^270 |
| unnonagintillion | 10^273 |
| duononagintillion | 10^276 |
| trenonagintillion | 10^279 |
| quattuornonagintillion | 10^282 |
| quinnonagintillion | 10^285 |
| sexnonagintillion | 10^288 |
| septnonagintillion | 10^291 |
| octononagintillion | 10^294 |
| novemnonagintillion | 10^297 |
| centillion | 10^300 |
本表格从main.js中整理得到。该游戏源代码未加密,大数词条位于 main.js中行3629处定义的变量placeValue
该列表存在两个bug:
1.octosexagintillion 重复出现(索引 69 和 70),索引 70 按拉丁规律应为 novemsexagintillion
2.某些 -septuagintillion 段缺失了 quattuorseptuagintillion 和 octoseptuagintillion 等词缀
源代码如下:
var oneToTen = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"],
elevenToNineteen = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'],
multipleOfTen = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'],
placeValue = ["", " thousand ", " million ", " billion ", " trillion ", " quadrillion ", " quintillion ", " sextillion ", " septillion ", " octillion ", " nonillion ", " decillion ", " undecillion ", " duodecillion ", " tredecillion ", " quattuordecillion ", " quindecillion ", " sexdecillion ", " septendecillion ", " octodecillion ", " novemdecillion ", " vigintillion ", " unvigintillion ", " duovigintillion ", " trevigintillion ", " quattuorvigintillion ", " quinvigintillion ", " sexvigintillion ", " septenvigintillion ", " octovigintillion ", " novemvigintillion ", " trigintillion ", " untrigintillion ", " duotrigintillion ", " tretrigintillion ", " quattuortrigintillion ", " quintrigintillion ", " sextrigintillion ", " septentrigintillion ", " octotrigintillion ", " novemtrigintillion ", " quadragintillion ", " unquadragintillion ", " duoquadragintillion ", " trequadragintillion ", " quattuorquadragintillion ", " quinquadragintillion ", " sexquadragintillion ", " septenquadragintillion ", " octoquadragintillion ", " novemquadragintillion ", " quinquagintillion ", " unquinquagintillion ", " duoquinquagintillion ", " trequinquagintillion ", " quattuorquinquagintillion ", " quinquinquagintillion ", " sexquinquagintillion ", " septenquinquagintillion ", " octoquinquagintillion ", " novemquinquagintillion ", " sexagintillion ", " unsexagintillion ", " duosexagintillion ", " tresexagintillion ", " quattuorsexagintillion ", " quinsexagintillion ", " sexsexagintillion ", " septsexagintillion ", " octosexagintillion ", " octosexagintillion ", " septuagintillion ", " unseptuagintillion ", " duoseptuagintillion ", " treseptuagintillion ", " quinseptuagintillion"," sexseptuagintillion"," septseptuagintillion"," octoseptuagintillion"," novemseptuagintillion"," octogintillion"," unoctogintillion"," duooctogintillion"," treoctogintillion"," quattuoroctogintillion"," quinoctogintillion"," sexoctogintillion"," septoctogintillion"," octooctogintillion"," novemoctogintillion"," nonagintillion"," unnonagintillion"," duononagintillion", " trenonagintillion "," quattuornonagintillion "," quinnonagintillion "," sexnonagintillion "," septnonagintillion "," octononagintillion "," novemnonagintillion ", " centillion"];
用于显示大数的函数位于main.js行3631处spellf(已注释具体功能):
function spellf(userInput) {
var numToWorkOn;
// 调试用:已被注释掉的可用物质日志打印
// (原作者在调试 availableMatter 值时留下的死代码)
// if (userInput === availableMatter)
// {
// console.log("_______");
// console.log(userInput);
// }
// 为数字命名系统中所有唯一名称创建映射(已通过 placeValue 数组实现)
// 检查 spell 是否作为普通函数调用:spell(123) 或 window.spell(123)
// 该函数最初可能设计为既可作为独立函数也可作为 String 方法调用
// 但实际游戏中未使用该功能
if (userInput < 0) {
// 负数直接打印错误并返回原始字符串
console.log("Error, value less than 0");
return userInput.toString();
}
// 如果输入是数字或字符串类型,转换为字符串以供后续处理
if (typeof(userInput) == "number" || typeof(userInput) == "string") {
numToWorkOn = "" + userInput;
}
// 检查是否作为 Number/String 对象的方法调用:如 "123".spell() 或 123..spell()
// 这种用法在游戏中实际未使用
else if (typeof(this) == "object") {
numToWorkOn = this.toString();
}
// 非法输入则抛出异常
else {
throw new Error("Invalid Input");
return;
}
// ── 处理科学计数法(e+ 格式)──────────────────────────────────
// 将 "1.5e+27" 这种形式展开为完整的数字字符串 "1500000000000000000000000000"
if (numToWorkOn.indexOf("e+") !== -1) {
var splittedExponentNum = numToWorkOn.split("e+"), // ["1.5", "27"]
exponent = splittedExponentNum[1], // 指数部分 "27"
str = '';
// 如果底数含小数点,还需调整指数
if (numToWorkOn.indexOf(".") !== -1) {
numToWorkOn = splittedExponentNum[0].split("."); // ["1", "5"]
// 小数部分长度要从指数中扣减(因为小数展开后会吃掉这些位)
exponent -= numToWorkOn[1].length; // 27 - 1 = 26
numToWorkOn = numToWorkOn.join(""); // "15"
}
// 不含小数点则底数直接取整
else {
numToWorkOn = splittedExponentNum[0];
}
// 在末位追补剩余的所有零
while (exponent--) {
str = str + '0';
}
numToWorkOn = numToWorkOn + str; // "15" + "00000000000000000000000000"
}
// ── 处理普通小数(含 "." 但不含 "e+")─────────────────────
// 直接截断取整数部分,小数部分丢弃
else if (numToWorkOn.indexOf(".") !== -1) {
var splittedDecimal = numToWorkOn.split(".");
var leftNum = splittedDecimal[0]; // 整数部分
var rightNum = splittedDecimal[1]; // 小数部分(未使用,仅保留变量)
numToWorkOn = leftNum;
}
// ── 长度上限检查 ──────────────────────────────────────────
// placeValue 数组当前最多支持到 centillion (10^300)
// 若数字超过 302 位,抛出异常
if (numToWorkOn.length >= 303) {
throw new Error("Number out of bonds!"); // 原代码拼写错误:bonds → bounds
return;
} else {
return convertToString(numToWorkOn);
}
/**
* 核心递归逻辑:将数字字符串按每三位一组拆分,每组附加对应位值后缀
* 例如 "1234567" → 从低位起: "567" + "" = "567", "234" + " thousand " = "234.0 thousand"
* 最终拼接为 "1.2 million, 234.0 thousand, 567"
*
* @param {string} stringEquivalent - 纯数字字符串(不含符号和小数点)
* @returns {string} 格式化后的结果字符串
*/
function convertToString(stringEquivalent) {
if (stringEquivalent == 0) {
return '0';
}
var result = '',
unitLookup = 0, // 位值数组索引计数器
strLength = stringEquivalent.length;
// 从字符串尾部向头部遍历,每次取三位
for (var k = strLength; k > 0; k = k - 3) {
// 当剩余长度 ≤ 3 时,取出最高位组(可能不足三位)
if (k - 3 <= 0) {
var subStr = stringEquivalent.substring(k, k - 3);
pronounce = pronounceNum(subStr);
// 如果该组发音不为 "zero",则附加对应后缀
if (pronounce.toUpperCase() != 'zero') {
// subStr + "." + 后两位数字 → 构成带小数精度的数值
var num = Number(subStr + "." + stringEquivalent.substring(subStr.length, subStr.length + 2));
// 用 formatWithCommas 格式化整数部分,拼接 placeValue 后缀
result = formatWithCommas(num, 1) + placeValue[unitLookup] + ' , ' + result;
}
}
unitLookup++;
}
// 去除末尾多余的 " , " 分隔符
// 例如 "1.2 million , 234.0 thousand , 567 , " → trim 掉最后 3 个字符
return result.substring(0, result.length - 3);
}
/**
* 判断输入数值的范围,并调用对应的发音函数
* @param {string|number} val - 数值
* @returns {string} 英文拼写
*/
function pronounceNum(val) {
val = parseInt(val);
if (parseInt(val / 10) == 0) {
return numLessThan10(val); // 个位数 (0~9)
} else if (parseInt(val / 100) == 0) {
return numLessThan99(val); // 两位数 (10~99)
} else {
return numLessThan1000(val); // 三位数 (100~999)
}
}
/**
* 将小于 1000 的数拼写为英文
* 例如 256 → "two hundred fifty six"
* @param {number} val
* @returns {string}
*/
function numLessThan1000(val) {
val = Number(val);
var hundredPlace = parseInt(val / 100), // 百位数
result;
if (val % 100 == 0) {
// 整百:如 "three hundred "
result = oneToTen[hundredPlace] + " hundred ";
} else {
// 非整百:百位 + 余数部分
result = oneToTen[hundredPlace] + " hundred " + numLessThan99(val % 100);
}
return result;
}
/**
* 将小于 99 的数拼写为英文
* 例如 42 → "forty two"
* @param {number} val
* @returns {string}
*/
function numLessThan99(val) {
val = Number(val);
var tenthPlace = parseInt(val / 10), // 十位数
result;
if (tenthPlace !== 1) {
// 20~99:十位拼写 + 个位拼写
val % 10
? (result = multipleOfTen[tenthPlace] + " " + numLessThan10(val % 10))
: (result = multipleOfTen[tenthPlace]); // 整十,如 "forty"
return result;
} else {
// 10~19:直接查表
result = elevenToNineteen[val % 10];
return result;
}
}
/**
* 将小于 10 的数拼写为英文
* @param {number} val
* @returns {string}
*/
function numLessThan10(val) {
val = Number(val);
return oneToTen[val];
};
}

沪公网安备 31011002002714 号