Repository: flutter
Issue: Discrete Slider/RangeSlider has interpolation (?) errors
Labels: framework,f: material design,has reproducible steps,P2,found in release: 3.3,found in release: 3.7,team-design,triaged-design

## Steps to Reproduce

1. Create a discrete Slider/RangeSlider with `min:0.0`, `max:35.0`, `divisions: 35` (or see [main.dart](https://gist.github.com/repentsinner/3b635247f37c28f11a6a3a9700ec781d))
2. Build on Windows & run on a Pixel 2 or build on MacOS and run on an iPhone 7.
3. Slide any of the thumbs to the 29th position.
4. Expect the value to be 29.0, but instead receive 29.000000000000004

This also happens with:

| max/divisions | value              |
|---------------|--------------------|
| 22            | 14.999999999999998 |
| 23            | 12.999999999999998 |
| 25            | 7.000000000000001, 14.000000000000002 |
| ... | |
| 35            | 29.000000000000004 |
| 38            | 21.000000000000004 |
| 39            | 25.000000000000004, 30.999999999999996 |
| ...              |                    |

Current workaround is to insert `.roundToDouble()` methods in all of the `onChange*` callbacks to clean up the values before passing them out to the consumer.

Thanks for considering!

## Logs

<!--
      Run your application with `flutter run --verbose` and attach all the
      log output below between the lines with the backticks. If there is an
      exception, please see if the error message includes enough information
      to explain how to solve the issue.
-->

<!--
     Run `flutter analyze` and attach any output of that command below.
     If there are any analysis errors, try resolving them before filing this issue.
-->

```
Analyzing flutter_range_slider_test...
No issues found! (ran in 1.2s)
```

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

```
[√] Flutter (Channel stable, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.18362.327], locale en-US)
    • Flutter version 1.7.8+hotfix.4 at C:\Users\deg\Development\flutter
    • Framework revision 20e59316b8 (6 weeks ago), 2019-07-18 20:04:33 -0700
    • Engine revision fee001c93f
    • Dart version 2.4.0

 
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
    • Android SDK at C:\Users\deg\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 37.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] VS Code (version 1.37.1)
    • VS Code at C:\Users\deg\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.3.0

[√] Connected device (1 available)
    • Pixel 2 • FA79E1A01225 • android-arm64 • Android 9 (API 28)

• No issues found!
```
<img src="https://user-images.githubusercontent.com/4462072/63970885-1afa7600-ca5a-11e9-926d-a7bc1521c193.png" width ="300">