我试图将两个值加在一起,但是当我这样做时,它会连接两个字符串,那么我如何在状态上使用解析 float
我已经尝试过
this.state.shippingCharge.parseFloat()
但我只是出现了一个关于 this.state.shippingCharge.parseFloat() 为何不是函数的错误
this.state = {
soldPrice: '',
shippingCost: '',
shippingCharge: '',
itemCost: '',
Profit: ' ',
paypalFee: 0.30,
paypalFeePercentage: 0.029,
ebayFee: 0.1,
profitMargin: '',
paypalFeeTotal: '',
ebayFeeTotal: '',
profitColor: '',
};
}
calculateProfit = () => {
const finalValue = this.state.soldPrice + this.state.shippingCharge.parseFloat() - this.state.soldPrice *
this.state.paypalFeePercentage - this.state.paypalFee - this.state.soldPrice *
this.state.ebayFee - this.state.shippingCost - this.state.itemCost;
this.setState({ finalValue });
}
我试图将其解析为 float 而不是字符串,以便我可以将两个数字加在一起,而不是将字符串连接在一起
<Text style={styles.profitResult}>
TOTAL PROFIT:{this.state.finalValue}</Text>
最佳答案
您已通过声明将 ShippingCharge 隐式转换为字符串。您应该将其更改为数字,或者如果您想要转换它,请使用 parseFloat()
作为内置全局 Javascript 函数实现一个可以正确转换它的函数。
parseFloat(this.state.shippingCharge) + ...
或
this.state {
...
shippingCharge : 0.0,
...
}
关于javascript - 我有一个公式来计算多个用户生成的值,当我尝试将值添加到一起时,它只是将两个值连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57485325/