Am 08.08.2011 12:28, schrieb Johnny Rosenberg:
> 2011/8/8 Christoph Jopp <>:
>> Hi Johnny,
>> Am 07.08.2011 16:55, schrieb Johnny Rosenberg:
>>> Am I the only one who miss a Frac() function in Basic
>>> and as a cell function?
>>> I always have to use my own function, which is probably slower than a
>>> built in function would be:
>>> Function Frac(Value As Double) As Double
>>>     Frac=Value-Fix(Value) ' Using ”Int” instead of ”Fix” doesn't work
>>> properly for negative values.
>>> End Function
>>> For example, Frac(-12.3456789) ⇨ -0.3456789
>>> I use Frac() all the time and I can't be the only one who need it, can I? 
>>> Among
>>> other things it's nice for separating time from time+date, even if there are
>>> other ways to do that.
>>> In case there is a Frac() function after all, what's it called?
>> The only built-in formula that comes to my mind is
>> REST(Dividend;Divisor) in German. In English this should be
>> MOD(Dividend;Divisor).
> I'm Swedish and it's REST in Swedish too… There is a web page
> somewhere ( with
> translations from Excel (and therefore also
> cell function names in English to Swedish
> and Norwegian, so giving me the English function names is always OK.
>> But it still has the Problem with the sign of
>> the Dividend.
>> For example:
>> The number in Cell B2 is 4.3459234, your formula should be =MOD(B2;1)
>> The number in B2 is 4.3459234, then the formula should be =MOD(B2;-1)
>> To overcome this you could use the built-in formula VORZEICHEN(), in
>> English SIGN().
>>  In the example:
>> =MOD(B2;SIGN(B2)
> Thanks, works great!
> But still, there is nothing like that for Basic, is it?
> There is Mod, but it returns an Integer…! So 12.3456789 Mod 1 returns
> 0. Not very useful in this case…

No, the "Basic Mod" behaves different. But you can call the built-in
formula from Calc as in Koheis snippet:

And so you get (without much sense in this context):

Function getRest( d As Double )
   svc = createUnoService( "" )
   arg = array( d, Sgn(d))
   getRest = svc.callFunction( "MOD", arg )
End Function

Again just another way. It might be more helpful for more complex
Calc-Formulas. (Here you must use the english names of the formulas)

>> Not really an improvement, just another way.
>> Maybe it helps you anyway.
>> Christoph
> Well, it didn't help much in this case, but at least I learned
> something, which I appreciate! ☺
> Best regards
> Johnny Rosenberg
> ジョニー・ローゼンバーグ

To unsubscribe send email to
For additional commands send email to
with Subject: help

Reply via email to