javascript - 我有一个公式来计算多个用户生成的值,当我尝试将值添加到一起时,它只是将两个值连接起来

标签 javascript reactjs react-native

我试图将两个值加在一起,但是当我这样做时,它会连接两个字符串,那么我如何在状态上使用解析 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/

相关文章:

react-native - redux-observable 您提供了 'undefined' 预期的流

javascript - 如何根据属性在类中的位置获取元素的具体名称

javascript - 将图像从计算机上传到 Fabric.JS Canvas

javascript - 如何防止正文通过推送侧菜单滚动

javascript - 弹出菜单呈现在与 anchor 元素不同的位置

javascript - 如何为 HOC 创建共享状态?

android - 仅向新用户显示屏幕 react 导航 v3

javascript - style.display ="none"表现得很奇怪 - 我没有涵盖什么基础?

javascript - 如何在 redux 中将唯一项添加到数组中

node.js - Heroku、NodeJs 和 React 问题 : SCRIPT5007: Unable to get property 'apply' of undefined or null reference