[api-dev] Re: Missing a Frac() function

2011-08-08 Thread Christoph Jopp
Am 08.08.2011 16:45, schrieb Johnny Rosenberg:

...

> 
> I guess I'll stick with my own Frac function then, since it's more
> straight forward and easier to understand. And shorter…
> 
> Function Frac(Value As Double) As Double
>  Frac=Value-Fix(Value)
> End Function
> 

Yes, of course. And I think also with less overhead (not using an UNO
Object)

;-)
-- 
-
To unsubscribe send email to dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help


[api-dev] Re: Missing a Frac() function

2011-08-08 Thread Johnny Rosenberg
2011/8/8 Christoph Jopp :
> 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 OpenOffice.org 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 (http://www.probabilityof.com/excel.shtml#30) with
>> translations from Excel (and therefore also
>> OpenOffice.org/LibreOffice) 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!
>> =REST(B2;TECKEN(B2))
>>
>> But still, there is nothing like that for OpenOffice.org 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:
> http://codesnippets.services.openoffice.org/Calc/Calc.UsingBuiltinFunctions.snip
>
> And so you get (without much sense in this context):
>
>
> Function getRest( d As Double )
>   svc = createUnoService( "com.sun.star.sheet.FunctionAccess" )
>   arg = array( d, Sgn(d))
>   getRest = svc.callFunction( "MOD", arg )
> End Function

I guess I'll stick with my own Frac function then, since it's more
straight forward and easier to understand. And shorter…

Function Frac(Value As Double) As Double
     Frac=Value-Fix(Value)
End Function

Kind regards

Johnny Rosenberg
ジョニー・ローゼンバーグ

>
>
> 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 dev-unsubscr...@api.openoffice.org
> For additional commands send email to sy...@api.openoffice.org
> with Subject: help
>
-- 
-
To unsubscribe send email to dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help


[api-dev] Re: Missing a Frac() function

2011-08-08 Thread Christoph Jopp
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 OpenOffice.org 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 (http://www.probabilityof.com/excel.shtml#30) with
> translations from Excel (and therefore also
> OpenOffice.org/LibreOffice) 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!
> =REST(B2;TECKEN(B2))
> 
> But still, there is nothing like that for OpenOffice.org 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:
http://codesnippets.services.openoffice.org/Calc/Calc.UsingBuiltinFunctions.snip

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


Function getRest( d As Double )
   svc = createUnoService( "com.sun.star.sheet.FunctionAccess" )
   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 dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help


[api-dev] Re: Missing a Frac() function

2011-08-08 Thread 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 OpenOffice.org 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 (http://www.probabilityof.com/excel.shtml#30) with
translations from Excel (and therefore also
OpenOffice.org/LibreOffice) 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!
=REST(B2;TECKEN(B2))

But still, there is nothing like that for OpenOffice.org Basic, is it?
There is Mod, but it returns an Integer…! So 12.3456789 Mod 1 returns
0. Not very useful in this case…

> 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 dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help


[api-dev] Re: Missing a Frac() function

2011-08-08 Thread Christoph Jopp
Am 08.08.2011 08:59, schrieb Christoph Jopp:
> 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?
>>
>> 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). 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:


Sorry, forgot one )

> =MOD(B2;SIGN(B2)

=MOD(B2;SIGN(B2))

;-)


> 
> Not really an improvement, just another way.
> 
> Maybe it helps you anyway.
> 
> Christoph
> 
>>
>> Kind regards
>>
>> Johnny Rosenberg
>> ジョニー・ローゼンバーグ
> 
> 
> 

-- 
-
To unsubscribe send email to dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help


[api-dev] Re: Missing a Frac() function

2011-08-08 Thread Christoph Jopp
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?
> 
> 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). 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)

Not really an improvement, just another way.

Maybe it helps you anyway.

Christoph

> 
> Kind regards
> 
> Johnny Rosenberg
> ジョニー・ローゼンバーグ



-- 
-
To unsubscribe send email to dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help