When doing:

`String str(1000.1, 0);`

“str” does contain decimal digits.

This is due to the internal doubleToString function treating 0 as a special value (unspecified numberOfDecimalPlaces).

Reminds me of base -909 in Python (see below), except in this case 0 decimal digits is a value that users are likely to give…

```
>>> int("10", 16)
16
>>> int("10", -908)
ValueError: int() base must be >= 2 and <= 36
>>> int("10", -909)
10
```