import { describe, expect, it } from "vitest"; function toChineseNumber(num: number) { let ret = ""; if (num < 10) { ret = num.toLocaleString("zh-u-nu-hanidec"); } else if (num === 10) { ret = "十"; } else if (num > 10 && num < 20) { ret = "十" + (num % 10).toLocaleString("zh-u-nu-hanidec"); } else if (num >= 20 && num < 100) { const s = num .toLocaleString("zh-u-nu-hanidec", { useGrouping: false }) .split(""); s.splice(1, 0, "十"); ret = s.join("").replace("〇", ""); } else { ret = num.toLocaleString("zh-u-nu-hanidec"); } return ret; } describe("toChineseNumber", () => { it("test number to chinese", () => { expect(toChineseNumber(12)).toEqual("十二"); // expect(toChineseNumber(13)).toEqual("一十三"); }); });