Skip to main content
 首页 » 编程设计

python之计算百分比差异python

2025年05月04日11sky-heaven

我正在尝试让一些东西在我为我的工作构建的表单上工作,但它似乎没有按照我期望的方式工作。

我想计算 ANL_CMA1_NUM_CLOSED_SALES 和 ANL_CMA2_NUM_CLOSED_SALES 这两个字段之间的百分比差异。

我认为我的数学是正确的,但我只得到个位数的结果,无论是正数还是负数,具体取决于输入的值。

我正在制作一个可以自定义权限级别和四舍五入的表格,我将其四舍五入到最接近的百分之一。谁能帮我解决这个问题?

原始公式末尾没有 -100) * 100) 部分,但也无法正常工作。

FormSet.SetFieldValue(CurrentForm, "ANL_CHG_NUM_CLOSED_SALES",  
(((FormSet.GetFieldValue(CurrentForm, "ANL_CMA2_NUM_CLOSED_SALES") -  
FormSet.GetFieldValue(CurrentForm, "ANL_CMA1_NUM_CLOSED_SALES")) /     
 FormSet.GetFieldValue(CurrentForm, "ANL_CMA1_NUM_CLOSED_SALES")) -100) * 100) 

请您参考如下方法:

您可能在需要浮点除法(即 1./3 == 0.3333333)的地方使用整数除法(即 1/3 == 0)。

稍微分解一下可能也更容易理解-

cma1 = FormSet.GetFieldValue(CurrentForm, "ANL_CMA1_NUM_CLOSED_SALES") 
cma2 = FormSet.GetFieldValue(CurrentForm, "ANL_CMA2_NUM_CLOSED_SALES") 
delta = float(cma2 - cma1) / cma1 
FormSet.SetFieldValue(CurrentForm, "ANL_CHG_NUM_CLOSED_SALES", delta*100.0)