This program is also compatible with your own function.
example:Fraction calculation
COMMON DEF FRAC(A)
VAR B,C,D%,I
WHILE !C && I<100000
I=I+1
B=ROUND(I*A)
C=B*(ABS((A/I-A))<1E-12
WEND
IF C && B<POW(2,31) THEN D%=B:R$=STR$(D%)+("/"+STR$(I))*(I>1)
RETURN A
END
Aが負数でないならばIF 0 OR A THEN ~で望んでいるような結果になると思います。
整数化のFLOORが長いのとORの方が速いのが理由でプチコンmkIIでは0 ORを使った整数化は結構ポピュラーなテクニックでした。
ちなみに0.1は2進数だと循環小数ですが、プチコン3号の実数型では符号と指数部を含めて64桁で丸めています。
64桁がどんな感じなのかは私の自作関数BIN64$を使えば簡単に分かります。
https://miiverse.nintendo.net/posts/AYIHAAAEAAArVRTkBciitw