print(ordinal(32)) # 32nd
发布时间: 2026/01/17 浏览:291次
确实是个常见的英文序数词错误。正确写法是 32nd,不是 32th。
\n
快速规则
- 先看最后两位:11、12、13 一律用 th(11th, 12th, 13th)
- 否则看个位:
- 1 → st(1st, 21st, 31st)
- 2 → nd(2nd, 22nd, 32nd)
- 3 → rd(3rd, 23rd, 33rd)
- 其他 → th(4th, 24th, 34th)
举例
- 1st, 2nd, 3rd, 4th
- 11th, 12th, 13th
- 21st, 22nd, 23rd, 24th
- 31st, 32nd, 33rd, 34th
\n
如果要避免再出错,可以在出图前用小工具自动生成后缀。示例代码:
Python
def ordinal(n: int) -[[NEWS.CONTENT_HTML]]gt; str: if 10 [[NEWS.CONTENT_HTML]]lt;= n % 100 [[NEWS.CONTENT_HTML]]lt;= 13: suf = [[NEWS.CONTENT_HTML]]quot;th[[NEWS.CONTENT_HTML]]quot; else: suf = {1: [[NEWS.CONTENT_HTML]]quot;st[[NEWS.CONTENT_HTML]]quot;, 2: [[NEWS.CONTENT_HTML]]quot;nd[[NEWS.CONTENT_HTML]]quot;, 3: [[NEWS.CONTENT_HTML]]quot;rd[[NEWS.CONTENT_HTML]]quot;}.get(n % 10, [[NEWS.CONTENT_HTML]]quot;th[[NEWS.CONTENT_HTML]]quot;) return f[[NEWS.CONTENT_HTML]]quot;{n}{suf}[[NEWS.CONTENT_HTML]]quot;print(ordinal(32)) # 32ndJavaScript
function ordinal(n) { const mod100 = n % 100; if (mod100 [[NEWS.CONTENT_HTML]]gt;= 11 [[NEWS.CONTENT_HTML]]amp;[[NEWS.CONTENT_HTML]]amp; mod100 [[NEWS.CONTENT_HTML]]lt;= 13) return `${n}th`; const mod10 = n % 10; return `${n}${({1:'st',2:'nd',3:'rd'}[mod10] || 'th')}`;}console.log(ordinal(32)); // 32nd建议尽快替换海报或在配文中更正为 “32nd Anniversary/Birthday”。
相关新闻
- 【展会回顾】2025第八届北京国际传感器技术应用展览会 落幕不散场,期待下次再见! 2025-05-26
- 【邀请函】河南英科邀您5月21-23日相约北京共赴行业盛会! 2025-05-14
- 【展会现场】第 26 届中国环博会首日,盛况来袭! 2025-04-22
- 上海之约:河南英科诚邀您共赴第 26 届中国环博会 2025-04-15
- 展会预告丨河南英科与您相约2025深圳国际传感器与应用技术展览会 2025-03-28