# Re: [Jprogramming] Fractional parts

```A few handy tests which are good to know:

N=: GI *. 1 0 e.~ * NB. naturals
Z=: GI *. R NB. integers
R=: = + NB. reals
C_R=: + = - NB. pure imaginaries (C-.R)
GI=: = <. NB. gaussian integers```
```
These were made to accept any J number. They could be optimised if one knows
that they are working only with real numbers, for example. In that case

1 0 e.~ *

could be replaced by

>:&0

and the test for reals can be skipped in Z.

In addition, these work with the mathematical definitions of the different
number sets, not with J's internal storage types.

Louis

> On 9 Aug 2017, at 11:42, Skip Cave <s...@caveconsulting.com> wrote:
>
> Martin,
>
> The original problem I was working on was a post on Quora (
> https://goo.gl/NrZde2). I use these Quora math questions to help sharpen my
> J skills. I try to see if I can "brute force" the solutions using J, while
> most other posters try to solve these things by algebraic manipulation.  My
> answer to that question is here: (https://goo.gl/FhdJAg). There are several
> Quora problems that I have posted J solutions for, mostly to show how
> simple a brute force solution can be when using an array language. You can
> find those posts by searching for my name ("Skip Cave") in Quora
>
> In this problem all I really needed to do was to find all the results from
> the equation that were integers, so I used the 0=1||  scheme to find them.
>
> Our discussion on the J forum got me thinking about finding both the
> fractional part and the integer part of numbers, and I thought the pair of
> verbs (fp, ip) would be a nice addition to the Phrases doc, which is
> defined as listing phrases "useful to beginners in learning the language,
> and of continuing use to practical programmers."
>
> Also, when I obtained the fractional part, I wanted to keep the fact that
> the fractional part came from a negative number, hence the attempt to have
> negative fractional parts.
>
> Skip
>
> Skip Cave
> Cave Consulting LLC
>
>> On Wed, Aug 9, 2017 at 9:35 AM, Martin Kreuzer <i...@airkreuzer.com> wrote:
>>
>> From what I've gathered so far is, that people seem to not mind that much,
>> when extracting the fractional part from a (negative) float, they use
>>
>>   (1&|) _8.11
>> 0.89
>>
>> or
>>
>>   (1&#:) _8.11
>> 0.89
>>
>> or
>>
>>   (**1||) _8.11
>> _0.11
>>
>> as long as the integer and fractional part added up produce the original
>> float value.
>>
>> Q: Would somebody care to give a (scaled down) real-world example so as to
>> give me a chance to understand where this ip/fp extraction usually comes
>> into play and what part of the data is used for decision-making..? Thanks.
>>
>> -M
>>
>>
>>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm```