我有一个状态value: 10.00,一旦我用一些操作更新它并将其添加到<Text>".00"部分被修剪掉.如果它是一个像10.50的值,它将显示为10.5
这是一个问题,因为我想显示货币值.怎么办呢?
Nim*_*nya 25
找到了答案.要使用十进制值获取值,请使用toFixed()方法.
例:
var value = 10;
value = value.toFixed(2);
this.setState({subTotal: value});
Run Code Online (Sandbox Code Playgroud)
输出将是:10.00
这是您也可以尝试的另一种解决方案,我需要的是不允许输入超过 2 个十进制数字(小数点后),也不应该允许超过两个小数点或任何其他字符。
ConTwoDecDigit=(digit)=>{
return digit.indexOf(".")>0?
digit.split(".").length>=2?
digit.split(".")[0]+"."+digit.split(".")[1].substring(-1,2)
: digit
: digit
}
<TextInput
value={this.state.salary}
onChangeText={value => this.setState({ salary: this.ConTwoDecDigit(value) })}
keyboardType={'decimal-pad'}
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20272 次 |
| 最近记录: |