     public func validateFile(_ file: File) -> [StyleViolation] {
         let numberTokens = file.syntaxMap.tokens.filter { SyntaxKind(rawValue: $0.type) == .number }
         let violations = numberTokens.filter { token in
-            guard let content = contentFrom(file: file, token: token) else {
-                return false
+            guard let content = contentFrom(file: file, token: token),
+                isDecimal(number: content) else {
+                    return false
             }
 
             let components = content.components(separatedBy: ".")

        }

        return violations
    }

    private func isValid(number: String, reversed: Bool) -> Bool {

    public static let description = RuleDescription(
        identifier: "number_separator",
        name: "Number Separator",
        description: "Underscores should be used as thousand separator in large decimal numbers.",
        nonTriggeringExamples: [
            "let foo = 100",
            "let foo = 1_000",
            "let foo = 1_000_000",
            "let foo = 1.000_1",
            "let foo = 1_000_000.000_000_1",
            "let binary = 0b10000",
            "let binary = 0b1000_0001",
            "let hex = 0xA",
            "let hex = 0xAA_BB",
            "let octal = 0o21",
            "let octal = 0o21_1"
        ],
        triggeringExamples: [
            "let foo = ↓10_0",
