upper_limit は小数も考慮してるので numbers.Number で判定するようにしてます