Swift 2進数出力のゼロサプレス

課題

print("\(String(30, radix: 2))")

出力:11110

print("\(String(6, radix: 2))")

出力:110

桁が合わない。

調査

String Format Specifiersに2進数はない。

対応

Stringにextensionを作成する。

extension String {
    func zerosuppression(digit: Int) -> String {
        String(repeating: "0", count: digit - self.count) + self
    }
}
print("\(String(6, radix: 2)).zerosuppression(digit: 5)")

出力:00110

SwiftSwift

Posted by shi-n