=====Non-integer modulo operation===== //by Richard Russell, November 2011// BBC BASIC, in common with several other languages (e.g. C), provides only an integer [[http://www.bbcbasic.co.uk/bbcwin/manual/bbcwin6.html#mod|MOD]] operator as standard. That is, you can pass non-integer values to MOD but they will be truncated to integers before the operation is carried out. For example: PRINT 678.9 MOD 123.45 prints the value **63**. However the [[http://en.wikipedia.org/wiki/Modulo_operation|modulo]] operation is not fundamentally limited to integer values and occasionally it can be useful to have a version which will work with non-integers. In C this is provided by the **fmod** library function. An equivalent function in BBC BASIC can be implemented as follows: DEF FNfmod(x,y) = x - x DIV y * y Now we can perform the following operation: PRINT FNfmod(678.9, 123.45) and the value printed is **61.65**.