下面的例子给出了正确的计算,但由于某种原因,p.calcPrice
是一个字符串.我认为它是一个数字,因为.toFixed()
在字符串中没有意义.
每当我使用p.calcPrice
时,我是不是必须将其转换为+p.calcPrice
,或者我可以将Typescript 视为一个数字,这样我就不必转换它了?
p.calcPrice = (
price *
+p.amount *
(1 - pD / 100) *
(1 - mD / 100)
).toFixed(2);
下面的例子给出了正确的计算,但由于某种原因,p.calcPrice
是一个字符串.我认为它是一个数字,因为.toFixed()
在字符串中没有意义.
每当我使用p.calcPrice
时,我是不是必须将其转换为+p.calcPrice
,或者我可以将Typescript 视为一个数字,这样我就不必转换它了?
p.calcPrice = (
price *
+p.amount *
(1 - pD / 100) *
(1 - mD / 100)
).toFixed(2);
toFixed
返回一个字符串,您必须手动转换它.
铸造的一种方法是用数字将其包裹起来:
p.calcPrice = Number((price * +p.amount * (1 - pD / 100) * (1 - mD / 100)).toFixed(2));