diff --git a/pydantic/datetime_parse.py b/pydantic/datetime_parse.py
--- a/pydantic/datetime_parse.py
+++ b/pydantic/datetime_parse.py
@@ -223,7 +223,7 @@ def parse_duration(value: StrBytesIntFloat) -> timedelta:
 
     if isinstance(value, (int, float)):
         # below code requires a string
-        value = str(value)
+        value = f'{value:f}'
     elif isinstance(value, bytes):
         value = value.decode()
 

diff --git a/tests/test_datetime_parse.py b/tests/test_datetime_parse.py
--- a/tests/test_datetime_parse.py
+++ b/tests/test_datetime_parse.py
@@ -175,6 +175,7 @@ def test_parse_python_format(delta):
         ('30', timedelta(seconds=30)),
         (30, timedelta(seconds=30)),
         (30.1, timedelta(seconds=30, milliseconds=100)),
+        (9.9e-05, timedelta(microseconds=99)),
         # minutes seconds
         ('15:30', timedelta(minutes=15, seconds=30)),
         ('5:30', timedelta(minutes=5, seconds=30)),

Serialization -> de-serialisation fails for small timedelta (< 100 microseconds)
### Checks

* [x] I added a descriptive title to this issue
* [x] I have searched (google, github) for similar issues and couldn't find anything
* [x] I have read and followed [the docs](https://pydantic-docs.helpmanual.io/) and still think this is a bug

<!-- Sorry to sound so draconian, but every second saved replying to issues is time spend improving pydantic :-) -->

# Bug

The serialization -> de-serialization of a model with small `timedelta` raises a `ValidationError`. The de-serialization fails only when the `timedelta` is below 100 microseconds, see the following example:

```py
from datetime import timedelta
from pydantic import BaseModel

class Model(BaseModel):
    duration: timedelta


# This works
model = Model(duration=timedelta(microseconds=100))
Model.parse_raw(model.json())
# This Fails
model = Model(duration=timedelta(microseconds=99))
Model.parse_raw(model.json())
```

Last line throws the following error:
```py
pydantic.error_wrappers.ValidationError: 1 validation error for Model
duration
  invalid duration format (type=value_error.duration)
```

I believe the error comes from the `parse_duration` function, and in particular the line where the input value is converted to `str`.
https://github.com/samuelcolvin/pydantic/blob/c256dccbb383a7fd462f62fcb5d55558eb3cb108/pydantic/datetime_parse.py#L226-L231
Indeed `str(0.0001)` gives `"0.0001"` but `str(0.000099)` gives `"9.9e-5"`, thus the `re.match` fails.

Changing `value = str(value)` to `value = "f{value:.6f}"` should fix this. I would be happy to create a PR to solve the issue.

# System information

Output of `python -c "import pydantic.utils; print(pydantic.utils.version_info())"`:
```
             pydantic version: 1.8.2
            pydantic compiled: True
                 install path: <my-home>/.pyenv/versions/3.7.11/envs/pydantic/lib/python3.7/site-packages/pydantic
               python version: 3.7.11 (default, Aug 31 2021, 20:43:02)  [Clang 10.0.1 (clang-1001.0.46.4)]
                     platform: Darwin-19.6.0-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions']
```

tests/test_datetime_parse.py::test_parse_durations[9.9e-05-result4]
tests/test_datetime_parse.py::test_date_parsing[1494012444.883309-result0] tests/test_datetime_parse.py::test_date_parsing[1494012444.883309-result1] tests/test_datetime_parse.py::test_date_parsing[1494012444.883309-result2] tests/test_datetime_parse.py::test_date_parsing[1494012444-result3] tests/test_datetime_parse.py::test_date_parsing[1494012444-result4] tests/test_datetime_parse.py::test_date_parsing[0-result5] tests/test_datetime_parse.py::test_date_parsing[2012-04-23-result6] tests/test_datetime_parse.py::test_date_parsing[2012-04-23-result7] tests/test_datetime_parse.py::test_date_parsing[2012-4-9-result8] tests/test_datetime_parse.py::test_date_parsing[value9-result9] tests/test_datetime_parse.py::test_date_parsing[value10-result10] tests/test_datetime_parse.py::test_date_parsing[x20120423-DateError] tests/test_datetime_parse.py::test_date_parsing[2012-04-56-DateError] tests/test_datetime_parse.py::test_date_parsing[19999999999-result13] tests/test_datetime_parse.py::test_date_parsing[20000000001-result14] tests/test_datetime_parse.py::test_date_parsing[1549316052-result15] tests/test_datetime_parse.py::test_date_parsing[1549316052104-result16] tests/test_datetime_parse.py::test_date_parsing[1549316052104324-result17] tests/test_datetime_parse.py::test_date_parsing[1549316052104324096-result18] tests/test_datetime_parse.py::test_date_parsing[infinity-result19] tests/test_datetime_parse.py::test_date_parsing[inf-result20] tests/test_datetime_parse.py::test_date_parsing[inf-result21] tests/test_datetime_parse.py::test_date_parsing[infinity tests/test_datetime_parse.py::test_date_parsing[10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-result23] tests/test_datetime_parse.py::test_date_parsing[inf-result24] tests/test_datetime_parse.py::test_date_parsing[-infinity-result25] tests/test_datetime_parse.py::test_date_parsing[-inf-result26] tests/test_datetime_parse.py::test_date_parsing[nan-ValueError] tests/test_datetime_parse.py::test_time_parsing[09:15:00-result0] tests/test_datetime_parse.py::test_time_parsing[10:10-result1] tests/test_datetime_parse.py::test_time_parsing[10:20:30.400-result2] tests/test_datetime_parse.py::test_time_parsing[10:20:30.400-result3] tests/test_datetime_parse.py::test_time_parsing[4:8:16-result4] tests/test_datetime_parse.py::test_time_parsing[value5-result5] tests/test_datetime_parse.py::test_time_parsing[3610-result6] tests/test_datetime_parse.py::test_time_parsing[3600.5-result7] tests/test_datetime_parse.py::test_time_parsing[86399-result8] tests/test_datetime_parse.py::test_time_parsing[11:05:00-05:30-result9] tests/test_datetime_parse.py::test_time_parsing[11:05:00-0530-result10] tests/test_datetime_parse.py::test_time_parsing[11:05:00Z-result11] tests/test_datetime_parse.py::test_time_parsing[11:05:00+00-result12] tests/test_datetime_parse.py::test_time_parsing[11:05-06-result13] tests/test_datetime_parse.py::test_time_parsing[11:05+06-result14] tests/test_datetime_parse.py::test_time_parsing[86400-TimeError] tests/test_datetime_parse.py::test_time_parsing[xxx-TimeError] tests/test_datetime_parse.py::test_time_parsing[091500-TimeError0] tests/test_datetime_parse.py::test_time_parsing[091500-TimeError1] tests/test_datetime_parse.py::test_time_parsing[09:15:90-TimeError] tests/test_datetime_parse.py::test_time_parsing[11:05:00Y-TimeError] tests/test_datetime_parse.py::test_time_parsing[11:05:00-25:00-TimeError] tests/test_datetime_parse.py::test_datetime_parsing[1494012444.883309-result0] tests/test_datetime_parse.py::test_datetime_parsing[1494012444.883309-result1] tests/test_datetime_parse.py::test_datetime_parsing[1494012444-result2] tests/test_datetime_parse.py::test_datetime_parsing[1494012444-result3] tests/test_datetime_parse.py::test_datetime_parsing[1494012444-result4] tests/test_datetime_parse.py::test_datetime_parsing[1494012444000.883309-result5] tests/test_datetime_parse.py::test_datetime_parsing[-1494012444000.883309-result6] tests/test_datetime_parse.py::test_datetime_parsing[1494012444000-result7] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T09:15:00-result8] tests/test_datetime_parse.py::test_datetime_parsing[2012-4-9 tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T09:15:00Z-result10] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T10:20:30.400+02:30-result12] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T10:20:30.400+02-result13] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T10:20:30.400-02-result14] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T10:20:30.400-02-result15] tests/test_datetime_parse.py::test_datetime_parsing[value16-result16] tests/test_datetime_parse.py::test_datetime_parsing[0-result17] tests/test_datetime_parse.py::test_datetime_parsing[x20120423091500-DateTimeError] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-56T09:15:90-DateTimeError] tests/test_datetime_parse.py::test_datetime_parsing[2012-04-23T11:05:00-25:00-DateTimeError] tests/test_datetime_parse.py::test_datetime_parsing[19999999999-result21] tests/test_datetime_parse.py::test_datetime_parsing[20000000001-result22] tests/test_datetime_parse.py::test_datetime_parsing[1549316052-result23] tests/test_datetime_parse.py::test_datetime_parsing[1549316052104-result24] tests/test_datetime_parse.py::test_datetime_parsing[1549316052104324-result25] tests/test_datetime_parse.py::test_datetime_parsing[1549316052104324096-result26] tests/test_datetime_parse.py::test_datetime_parsing[infinity-result27] tests/test_datetime_parse.py::test_datetime_parsing[inf-result28] tests/test_datetime_parse.py::test_datetime_parsing[inf tests/test_datetime_parse.py::test_datetime_parsing[1e+50-result30] tests/test_datetime_parse.py::test_datetime_parsing[inf-result31] tests/test_datetime_parse.py::test_datetime_parsing[-infinity-result32] tests/test_datetime_parse.py::test_datetime_parsing[-inf-result33] tests/test_datetime_parse.py::test_datetime_parsing[nan-ValueError] tests/test_datetime_parse.py::test_parse_python_format[delta0] tests/test_datetime_parse.py::test_parse_python_format[delta1] tests/test_datetime_parse.py::test_parse_python_format[delta2] tests/test_datetime_parse.py::test_parse_python_format[delta3] tests/test_datetime_parse.py::test_parse_python_format[delta4] tests/test_datetime_parse.py::test_parse_python_format[delta5] tests/test_datetime_parse.py::test_parse_python_format[delta6] tests/test_datetime_parse.py::test_parse_durations[value0-result0] tests/test_datetime_parse.py::test_parse_durations[30-result1] tests/test_datetime_parse.py::test_parse_durations[30-result2] tests/test_datetime_parse.py::test_parse_durations[30.1-result3] tests/test_datetime_parse.py::test_parse_durations[15:30-result5] tests/test_datetime_parse.py::test_parse_durations[5:30-result6] tests/test_datetime_parse.py::test_parse_durations[10:15:30-result7] tests/test_datetime_parse.py::test_parse_durations[1:15:30-result8] tests/test_datetime_parse.py::test_parse_durations[100:200:300-result9] tests/test_datetime_parse.py::test_parse_durations[4 tests/test_datetime_parse.py::test_parse_durations[15:30.1-result12] tests/test_datetime_parse.py::test_parse_durations[15:30.01-result13] tests/test_datetime_parse.py::test_parse_durations[15:30.001-result14] tests/test_datetime_parse.py::test_parse_durations[15:30.0001-result15] tests/test_datetime_parse.py::test_parse_durations[15:30.00001-result16] tests/test_datetime_parse.py::test_parse_durations[15:30.000001-result17] tests/test_datetime_parse.py::test_parse_durations[15:30.000001-result18] tests/test_datetime_parse.py::test_parse_durations[-4 tests/test_datetime_parse.py::test_parse_durations[-172800-result20] tests/test_datetime_parse.py::test_parse_durations[-15:30-result21] tests/test_datetime_parse.py::test_parse_durations[-1:15:30-result22] tests/test_datetime_parse.py::test_parse_durations[-30.1-result23] tests/test_datetime_parse.py::test_parse_durations[P4Y-DurationError] tests/test_datetime_parse.py::test_parse_durations[P4M-DurationError] tests/test_datetime_parse.py::test_parse_durations[P4W-DurationError] tests/test_datetime_parse.py::test_parse_durations[P4D-result27] tests/test_datetime_parse.py::test_parse_durations[P0.5D-result28] tests/test_datetime_parse.py::test_parse_durations[PT5H-result29] tests/test_datetime_parse.py::test_parse_durations[PT5M-result30] tests/test_datetime_parse.py::test_parse_durations[PT5S-result31] tests/test_datetime_parse.py::test_parse_durations[PT0.000005S-result32] tests/test_datetime_parse.py::test_parse_durations[PT0.000005S-result33] tests/test_datetime_parse.py::test_model_type_errors[dt-value0-invalid tests/test_datetime_parse.py::test_model_type_errors[dt-value1-invalid tests/test_datetime_parse.py::test_model_type_errors[dt-object-invalid tests/test_datetime_parse.py::test_model_type_errors[d-value3-invalid tests/test_datetime_parse.py::test_model_type_errors[d-value4-invalid tests/test_datetime_parse.py::test_model_type_errors[d-object-invalid tests/test_datetime_parse.py::test_model_type_errors[t-value6-invalid tests/test_datetime_parse.py::test_model_type_errors[t-value7-invalid tests/test_datetime_parse.py::test_model_type_errors[t-object-invalid tests/test_datetime_parse.py::test_model_type_errors[td-value9-invalid tests/test_datetime_parse.py::test_model_type_errors[td-value10-invalid tests/test_datetime_parse.py::test_model_type_errors[td-object-invalid tests/test_datetime_parse.py::test_unicode_decode_error[dt0] tests/test_datetime_parse.py::test_unicode_decode_error[d] tests/test_datetime_parse.py::test_unicode_decode_error[t] tests/test_datetime_parse.py::test_unicode_decode_error[dt1] tests/test_datetime_parse.py::test_nan