为什么这个计算会产生错误的结果?
Why is this calculation producing a wrong result?
请看下面的代码:
var test1=0.0
test1 := (100+((80/100)*6))
根据 Excel,答案是 104.8,但是 Pine 告诉我答案是 100。这是为什么?
我尝试了一些其他计算,例如test1 := (100+1) + (100+2), whic
h 产生正确的结果,即本例中的 203。
我已经通读了这里的文档:https://www.tradingview.com/pine-script-docs/en/v4/index.html 我也用谷歌搜索了它,但我仍然很困惑。
我不知道为什么会出现这个问题,可能是一个错误。如您所见,这不是一个舍入问题,这里 pinescript 似乎跳过了涉及除法和乘法的计算。
一个解决方案是将计算中的 dividend/divisor 或计算中的一个因子视为双精度而不是整数,这可以使用尾随点来完成:
var test1=0.0
test1 := 100 + 80./100*6
这将产生预期的结果。
请看下面的代码:
var test1=0.0
test1 := (100+((80/100)*6))
根据 Excel,答案是 104.8,但是 Pine 告诉我答案是 100。这是为什么?
我尝试了一些其他计算,例如test1 := (100+1) + (100+2), whic
h 产生正确的结果,即本例中的 203。
我已经通读了这里的文档:https://www.tradingview.com/pine-script-docs/en/v4/index.html 我也用谷歌搜索了它,但我仍然很困惑。
我不知道为什么会出现这个问题,可能是一个错误。如您所见,这不是一个舍入问题,这里 pinescript 似乎跳过了涉及除法和乘法的计算。
一个解决方案是将计算中的 dividend/divisor 或计算中的一个因子视为双精度而不是整数,这可以使用尾随点来完成:
var test1=0.0
test1 := 100 + 80./100*6
这将产生预期的结果。