diff --git a/AK/String.h b/AK/String.h index ce4de09bde..9fdb05b68d 100644 --- a/AK/String.h +++ b/AK/String.h @@ -104,6 +104,15 @@ public: return formatted("{}", value); } + template + Optional to_number(TrimWhitespace trim_whitespace = TrimWhitespace::Yes) const + { + if constexpr (IsSigned) + return StringUtils::convert_to_int(bytes_as_string_view(), trim_whitespace); + else + return StringUtils::convert_to_uint(bytes_as_string_view(), trim_whitespace); + } + static ErrorOr vformatted(StringView fmtstr, TypeErasedFormatParams&); template