概述
今天突发奇想, 写一个将数字转换成中文字符串的函数. 并不是将 1234 转成 '1234' , 而是将 1234 转成 '一千二百三十四'.
本来以为很简单, 写下来之后发现还是有些坑的....尝试
因为我是在写完最终版本, 回过头来整理的这篇文章, 所以中间很多尝试的步骤会有所遗漏. 以下简单整理一下. 如果不想看, 可以直接拉到最后, 看最终的成品....数字的念法: 零一二三四五六七八九
每一位都有一个对应的权重: 个十百千万
所以我的初步想法是, 将数字的每一位都转成中文然后拼上对应的权重, so easy....第二次尝试
对于654321这个数字.
十万位6没有将十万直接拼到后边, 而是和万位5连起来, 一起组成了六十五万. 再多一个数字呢? 7654321, 就应该是七百六十五万....后边怎么多了一个万?
第五次尝试
有了处理0的经验, so easy, num_to_str这个函数呀加上一个对0的处理就好了.