1. /// w ##class(PHA.Test).GetComDiv(1, 8)
    2. ClassMethod GetComDiv(num1, num2)
    3. {
    4. s big = $s(num1 > num2 : num1 , 1 : num2)
    5. s sm = $s(num1 < num2 : num1 , 1 : num2)
    6. s rem = big # sm
    7. q:(rem = 0) sm
    8. q ..GetComDiv(rem, sm)
    9. }
    10. /// w ##class(PHA.Test).Deci2Fra(0.125)
    11. ClassMethod Deci2Fra(num)
    12. {
    13. s nnum = $zabs(num)
    14. q:(nnum '< 1)&&(nnum '[ ".") num
    15. s ten = $l($p(num, ".", 2)) * 10
    16. s num1 = num * ten
    17. s num2 = ten
    18. s com = ..GetComDiv(num1, num2)
    19. q (num1 / com) _ "/" _ (num2 / com)
    20. }
    DHC-APP>w ##class(PHA.Test).Deci2Fra(0.12)   
    3/25
    DHC-APP>w ##class(PHA.Test).Deci2Fra(0.125)
    1/8
    DHC-APP>w ##class(PHA.Test).Deci2Fra(0.5)  
    1/2