```
render () {
  <input type="number" value={this.props.value} />
}
```

for example, when the original value is '.98', we need format it to '0.98'. but it is not  take effect。

```javascript
class Test extends React.Component {
 state = {
    value: '.98',
  }
 changeValue = () => {
    alert(0.98);
    this.setState({
      value: '0.98',
    });
  }

 render() {
    return <div>
      <input type="number" value={this.state.value} />
      <button onClick={this.changeValue}>changeValue</button>
    </div>;
  }
}

ReactDOM.render(<Test />, mountNode);
```



}
      if (
        inst._wrapperState.controlled &&
        !controlled &&
        !didWarnControlledToUncontrolled
      ) {
        warning(
          false,
          'A component is changing a controlled input of type %s to be uncontrolled. ' +
            'Input elements should not switch from controlled to uncontrolled (or vice versa). ' +
            'Decide between using a controlled or uncontrolled input ' +
            'element for the lifetime of the component. More info: https:fb.me/react-controlled-components%s',
          props.type,
          getStackAddendumByID(inst._debugID),
        );
        didWarnControlledToUncontrolled = true;
      }
    }
    var checked = props.checked;
    if (checked != null) {
      DOMPropertyOperations.setValueForProperty(
        ReactDOMComponentTree.getNodeFromInstance(inst),
        'checked',
        checked || false,
      );
    }
    var node = ReactDOMComponentTree.getNodeFromInstance(inst);
    var value = props.value;
    if (value != null) {
      if (value === 0 && node.value === '') {