程式在撰寫的時候常常需要把得到的數值分成好幾個類別,依據不同的類別來做不同的對應
假如我們現在輸入的是數值,而我們要判斷輸入的數值是對應到哪個範圍裡,在Case Structure中我們可以在條件的地方設定為0..10、11..20、21..30
但如果我們的範圍是會隨著程式、時間而改變的,我們就無法在條件的地方隨時做改變,這時我們就必須要換個程式的寫法來滿足我們要的需求,而最直觀的方式就是透過大於、小於的比較來達成:
上圖程式中我們有兩個範圍值,我們就必須要在Case Structure再包一個Case Structure,這樣的程式應該已經達到一般使用者能夠理解的極限了吧,這時候如果我們有三個、四個甚至更多的範圍值,我們就必須要再Case Structure裡面好幾層的Case Structure,這樣的程式不僅撰寫困難,錯誤的機會也隨著範圍值的增加而遞增
這裡推薦一種比較容易撰寫且讓程式可以不要看起來這麼複雜的方法:
我們使用In Range and Coerce.vi、大於、小於來確認數值是在哪個範圍內,再將每個布林值組成一個陣列,最後轉成數值,因此最後就只會有幾個值出現,如圖有三個範圍值,則有四個範圍,最後出現四個值
8(1000)、4(0100)、2(0010)、1(0001)