美文网首页
如何将123456008转化为文字一亿二千三百四十五万六千零八

如何将123456008转化为文字一亿二千三百四十五万六千零八

作者: Mage | 来源:发表于2018-04-17 14:34 被阅读15次

 在知乎上看到一个面试题,如何将123456008转化为一亿二千三百四十五万六千零八,题主在30分钟内使用js完成该算法,感觉很有趣,于是决定挑战下自己,使用Swift完成这个问题.

 虽最后写出方法,但没有在30分钟内完成很是遗憾.下面贴出方法,记录下:

func printNumber(_ n: Int) -> String {
    func numToText(_ i: Int) -> String {
        switch i {
        case 0:
            return "零"
        case 1:
            return "一"
        case 2:
            return "二"
        case 3:
            return "三"
        case 4:
            return "四"
        case 5:
            return "五"
        case 6:
            return "六"
        case 7:
            return "七"
        case 8:
            return "八"
        case 9:
            return "九"
        default:
            return ""
        }
    }
    
    let digits = ["","十","百","千"]
    let digitsDigits = ["","万","亿"]
    var num: Int = n
    var index: Int = 0
    var str = ""
    while num > 0 {
        
        let i: Int = num % 10
        var iStr = numToText(i)
        num = (num - i) / 10
        
        if i == 0{
            if str.count > 0 && str.hasPrefix("零") == false {
                str = iStr + str
            }
        }else{
            iStr = iStr + digits[index % 4]
            if iStr == "一十" && num % 10 != 0 { iStr = "十" }
            iStr = iStr + (index % 4 == 0 ? digitsDigits[index/4]:"")
            str = iStr + str
        }
        index += 1
    }
    return str
}

相关文章

  • 如何将123456008转化为文字一亿二千三百四十五万六千零八

     在知乎上看到一个面试题,如何将123456008转化为一亿二千三百四十五万六千零八,题主在30分钟内使用js完成...

  • 如何将图片/PDF转化为文字

    领导安排任务写一个文档,发来了一些参考资料的照片,里面的不少内容需要写到文档内去的,怎么办呢?如果是以前的话,可能...

  • 2019-10-31

    《逆向创新:如何将限制转化为优势》pdf txt文字版下载 读后感悟 读书感悟 按字面意思来看,凡“限制”总是负面...

  • 2015年 关于下半年的目标

    1.提高自控力,拒绝拖延! 2.增强口头表达能力,如何将文字表达转化为口头表述,使你可以像书写文字一样,有空间和时...

  • 转化开放式提问

    如何将封闭式提问转化为开放式提问 如何将封闭式提问转化为开放式提问呢?比如“你不能在采取行动前征求领导的意见吗?”...

  • 0820 你的进步,先从模仿开始

    PPT制作,如何将文字内容转化为形象化的描述,首先要清楚内容之间的逻辑性,再用合适的形式来表达。 没有见识更好,就...

  • 如何将读过的书转化为生产力

    ?阅读分享_如何将读过的书转化为生产力 今天带领大家实作操作一张"一年顶十年"书中,如何将读过的书转化为生产力一文...

  • 你看到的本来就不是文字

    当感受化为文字,当悲伤化为文字。 你看到了什么? 对, 它不是文字。 它是感受,是情绪。

  • 如何将plist文件或者数组NSArray转化为.json文件?

    『导言』 目前:有一个plist文件,如何将plist文件转化为数组、json文件?NSArray/.plist文...

  • 将文字转为多彩图片

    今天写了个将文字转化为多彩图片的功能,输入文字将文字转化为彩色的文字图片,可选择不同的字体,渐变,先看看效果。 实...

网友评论

      本文标题:如何将123456008转化为文字一亿二千三百四十五万六千零八

      本文链接:https://www.haomeiwen.com/subject/cmoukftx.html