概述
今天突发奇想, 写一个将数字转换成中文字符串的函数. 并不是将 1234 转成 '1234' , 而是将 1234 转成 '一千二百三十四'.
本来以为很简单, 写下来之后发现还是有些坑的....数字的念法: 零一二三四五六七八九
每一位都有一个对应的权重: 个十百千万
所以我的初步想法是, 将数字的每一位都转成中文然后拼上对应的权重, so easy....这里问题很明显了, 我将权重直接拼到了每一位的后边, 而十万直接拼上去明显有问题. 正解应该是六十五万四千三百二十一.
到这里, 毫无疑问, 一开始思路就错了, 需要重新改变一下思路了....在写的过程中, 初版只是个很简单的版本, 但是在自己尝试的过程中总是发现各种各样的问题, 甚至有的时候解决了这个问题, 回头一测, 发现原来已经改好的问题有出现了, 唉, 果然还是功力太浅啊. too...我最终还算是磕磕绊绊的写完了, 不过冥冥之中还是感觉有一些情况没有考虑到, 无妨, 反正这不过是个一路填坑的过程, 再碰到问题, 改就完了.
----
至此, 代码初步完成, 将完整代码奉上:
# 数字中文