2015-11-21 85 views
5

我有2個指標,並試圖找到它們之間的平均值差異的百分比像100*(m1+m2)/m1但這顯然產生NaN如果m1變爲零。如何處理Bosun中的NaN?

如果我不想在度量標準轉爲零時提醒,我該如何處理這種情況?

回答

3

與bools bosun有short-circuit類似的行爲。由於水手長的表達式語言缺乏if語句,你需要使用一個布爾操作,看是否除數爲0第一:

$foo = 0 
$foo && 1/$foo 

因爲$ foo是零,聲明是「不正確的」,所以1/$ foo是未計入最終計算:

enter image description here

+0

謝謝!適用於我。 我從來沒有想過在這個意義上使用表達式編輯器。在真正將它們作爲規則使用之前,應該真的有助於嘗試使用表達式。 – timurb

+0

@timurb:yea Craig補充說大約一個月前,很高興在工作流程早期做變量 –

+0

如果您使用這種方法,那麼當$ foo不是0時,您將失去1/$ foo值: $ foo = 5 $ foo && 1/$ foo 結果:1(即爲真) 如果您想擁有1/$ foo(如果$ foo!= 0但如果$ foo == 0則爲0)會怎樣? – andresp