FM的自訂函數寫法

FM的函式寫法,與一般程式的寫法很不同,要體會與摸索一段時間,才會了解它的寫法,畢竟這是外國的程式語言,又是國人在校所沒教的,像是為了呈現合乎國人的大寫金額,不得不寫函式來轉換。

同樣的結果,寫法的邏輯過程會因人而不同,或長或短,當然如果能更精簡流程,自然效益更高。

相信同我初學FM時,一定會遇到寫函式的關卡,如何就FM所提供的函式指令運算達成自己所要的結果,常常會在這個地方困頓良久而跨不過去。

為了讓學習FM的初學者,能減少學習時程,早日精進FM的寫法與運用,個人將放上一兩個函式供參,希望有助學習。

請善    Let函式    來達成自訂函式的運算結果。

扼要之:

Let(

[

運算過程…….前面每一個式子完成,都要以;分開,最後一個式子不可以加;

]

;呈現運算結果

)

 

分述之:

Let(

[

自訂變數1=初值1;

自訂變數2=初值2;

……..

設定取得計算結果變數=透過運算來取得結果

]

;設定取得計算結果變數

)

 

實例之:將數字每三位數加入逗號,適用到12位數

函數名稱:

TranNumCMF(數字)

函式運算內容:

Let (

      [

        數字長度=Length ( 數字 );

        商數=數字長度 / 3;

        取回逗號數字=Case (商數 ≤ 1 ; 數字;

                                     商數 >1  and 商數 ≤ 2 ; Middle ( 數字 ; 1 ; 數字長度-3 ) & "," & Right (  數字 ; 3 ) ;

                                     商數 >2  and 商數 ≤ 3 ; Middle ( 數字 ; 1 ; 數字長度-6 ) & ","  & Middle ( 數字 ;  數字長度-5 ; 3 ) & "," & Right (  數字 ; 3 ) ;

                                     商數 >3  and 商數 ≤ 4 ; Middle ( 數字 ; 1 ; 數字長度-9 ) & ","  & Middle ( 數字 ;  數字長度-8 ; 3 ) & ","  & Middle ( 數字 ;  數字長度-5 ; 3 ) & "," & Right (  數字 ; 3 ) ;

                                     商數 >3  and 商數 ≤ 4 ; Middle ( 數字 ; 1 ; 數字長度-12 ) & ","  & Middle ( 數字 ;  數字長度-11 ; 3 )& ","  & Middle ( 數字 ;  數字長度-8 ; 3 ) & ","  & Middle ( 數字 ;  數字長度-5 ; 3 ) & "," & Right (  數字 ; 3 )

 

                )

 

       ]

       ; 取回逗號數字 )

文章標籤
全站熱搜
創作者介紹
創作者 桓德 的頭像
桓德

南區農漁會電腦小組園地

桓德 發表在 痞客邦 留言(0) 人氣(0)