protected function isSoftFloat($number)
    {
        if (!is_scalar($number) || $number === null) {
            return false;
        }
        
        $number = (string) $number;
        
        return preg_match('/^[-+]?(\d*)?\.\d+$/', $number);
    }