如何在swift中知道数字的单位?

时间:2016-07-14 21:51:52

标签: swift

我正在尝试检测用户输入textField的号码类型。例如

如果用户输入 1000 该程序应返回 1Kcs

如果用户输入 12,000 ,该程序应返回 12Kcs

如果用户输入 12,000,000 该程序应返回 12MCS

我如何快速解决这个问题?

成千上万 - Kcs 数百人 - Mcs

2 个答案:

答案 0 :(得分:2)

这应该是工作

extension Int {
    var unitFormatted: String {
        let positive = self < 0 ? -self : self
        switch positive {
        case 1_000_000..<Int.max: return "\(self / 1_000_000)MCS"
        case 1_000..<1_000_000: return "\(self / 1_000)Kcs"
        default: return "\(self)"
        }
    }
}

<强>实施例

0.unitFormatted // "0"
1.unitFormatted // "1"
1000.unitFormatted // "1Kcs"
12000.unitFormatted // "12Kcs"
12000000.unitFormatted // "12MCS"

答案 1 :(得分:1)

适合您的需求的一些变化应该没问题:

 strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
               & "Data Source='C:\Path\To\Workbook.xlsm';" _
               & "Extended Properties=""Excel 8.0;HDR=YES;"";"

 strSQL = "SELECT * FROM [Sheet1$]"