Parse a percentage value, e.g., 20%. The behavior of this function is similar as GetInteger(). The difference is that the token might contain '' as percentage symbol (%), and we may further check whether the value is in the range of [0, 100]. For example, 20% and 20 are both valid tokens, while 101%, 101, -1 are invalid.