PStringUtils::IsInt: accept an optional leading sign
IsInt now recognises (possibly signed) integers such as "-5" or "+42", making it slightly more permissive than TString::IsDigit(). A lone sign, a double sign, or a sign following a digit are still rejected. strToNum test expectations updated accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -114,9 +114,13 @@ static void testIsInt()
|
||||
|
||||
check("'12345' is int", PStringUtils::IsInt("12345"));
|
||||
check("' 42 ' (surrounding ws) is int", PStringUtils::IsInt(" 42 "));
|
||||
check("'-5' is int (negative)", PStringUtils::IsInt("-5"));
|
||||
check("'+42' is int (positive sign)", PStringUtils::IsInt("+42"));
|
||||
check("'' is not int", !PStringUtils::IsInt(""));
|
||||
check("' ' (ws only) is not int", !PStringUtils::IsInt(" "));
|
||||
check("'-5' is not int (sign not allowed)", !PStringUtils::IsInt("-5"));
|
||||
check("'-' (sign only) is not int", !PStringUtils::IsInt("-"));
|
||||
check("'+-5' (double sign) is not int", !PStringUtils::IsInt("+-5"));
|
||||
check("'5-3' (sign after digit) is not int", !PStringUtils::IsInt("5-3"));
|
||||
check("'3.14' is not int", !PStringUtils::IsInt("3.14"));
|
||||
check("'12a' is not int", !PStringUtils::IsInt("12a"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user