**Do you want to request a _feature_ or report a _bug_?**
Bug
**What is the current behavior?**
React at the beginning rounds `input[type=range]` value to 0 or 1, and then looks at step parameter which is 0.1 for example. The result is incorrect value of input after component mounts. When I put `value` attribute after `step` attributes, it works fine.
**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/reactjs/69z2wepo/).**
Demo: https://jsfiddle.net/2Lm4gy5k/ Comment or uncomment line 13 and 14 to see the difference.

**What is the expected behavior?**
To always look at step parameter and then round the value (if required).
**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
v15.1.0 (Opera, Chrome, Firefox). 

Yes, works in v.0.14.0 (https://jsfiddle.net/wrcnLugd/)

* The rendered element will be initialized as unchecked (or `defaultChecked`)
 * with an empty value (or `defaultValue`).
 *
 * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html
 */
var ReactDOMInput = {
  getHostProps: function(inst, props) {
    var value = LinkedValueUtils.getValue(props);
    var checked = LinkedValueUtils.getChecked(props);
    var hostProps = Object.assign({
      
      
      type: undefined,
    }, DisabledInputUtils.getHostProps(inst, props), {
      defaultChecked: undefined,
      defaultValue: undefined,
      value: value != null ? value : inst._wrapperState.initialValue,
      checked: checked != null ? checked : inst._wrapperState.initialChecked,
      onChange: inst._wrapperState.onChange,
    });
    return hostProps;
  },
  mountWrapper: function(inst, props) {
    if (__DEV__) {
      LinkedValueUtils.checkPropTypes(
        'input',
        props,
        inst._currentElement._owner
      );
      var owner = inst._currentElement._owner;