Re: Missing a Frac() function

Christoph Jopp <[email protected]> Mon, 08 Aug 2011 08:59:36 +0200
Newsgroups gmane.comp.openoffice.devel.api
Message-ID <[email protected]>
Hi Johnny,

Am 07.08.2011 16:55, schrieb Johnny Rosenberg:
> Am I the only one who miss a Frac() function in OpenOffice.org Basic
> and as a cell function?
>=20
> I always have to use my own function, which is probably slower than a
> built in function would be:
>=20
> Function Frac(Value As Double) As Double
>     Frac=3DValue-Fix(Value) ' Using =E2=80=9DInt=E2=80=9D instead of =E2=
=80=9DFix=E2=80=9D doesn't work
> properly for negative values.
> End Function
>=20
> For example, Frac(-12.3456789) =E2=87=A8 -0.3456789
>=20
> 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 ther=
e are
> other ways to do that.
>=20
> 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). 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 =3DMOD(B2;1)
The number in B2 is 4.3459234, then the formula should be =3DMOD(B2;-1)

To overcome this you could use the built-in formula VORZEICHEN(), in
English SIGN().
 In the example:
=3DMOD(B2;SIGN(B2)

Not really an improvement, just another way.

Maybe it helps you anyway.

Christoph

>=20
> Kind regards
>=20
> Johnny Rosenberg
> =E3=82=B8=E3=83=A7=E3=83=8B=E3=83=BC=E3=83=BB=E3=83=AD=E3=83=BC=E3=82=BC=
=E3=83=B3=E3=83=90=E3=83=BC=E3=82=B0



--=20
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help