------
## 最终结论
```python
def is_numeric(s: str) -> bool:
    s = s.strip()  # Remove leading and trailing whitespace
    if not s:
        return False  # Empty string after stripping is not numeric
    
    # Try to convert the string to float
    try:
        float(s)
    except ValueError:
        return False
    
    return True  # If conversion to float is successful, the string is numeric

# Test cases
test_cases = [
    "0",          # True
    " 0.1 ",      # True
    "abc",        # False
    "1 a",        # False
    "2e10",       # True
    "-1",         # True
    "-0.5",       # True
    "3.14",       # True
    "  -3.5e-2  ",# True
    "",           # False (empty string)
    "   ",        # False (whitespace only)
    "+1",         # True (positive number)
    "-2e+10",     # True (negative scientific notation)
]

# Execute tests and print results
for case in test_cases:
    result = is_numeric(case)
    print(f'is_numeric("{case}") = {result}')
```