Is there any way that i can find wether float variable contains fraction??

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • nas

    Is there any way that i can find wether float variable contains fraction??

    Hi

    Is there any way that i can find wether float variable contains
    fraction??
    for eg:-

    if( isWholeNumber(b ))
    {
    //do here
    }

    isWholeNumber(f loat var) should return true for the float numbers like
    10.000 ,11.000 etc

    and it shuold be false for numbers like 10.112 (if it contains
    fraction), 11.092123

  • red floyd

    #2
    Re: Is there any way that i can find wether float variable containsfractio n??

    nas wrote:
    Hi
    >
    Is there any way that i can find wether float variable contains
    fraction??
    for eg:-
    >
    if( isWholeNumber(b ))
    {
    //do here
    }
    >
    isWholeNumber(f loat var) should return true for the float numbers like
    10.000 ,11.000 etc
    >
    and it shuold be false for numbers like 10.112 (if it contains
    fraction), 11.092123
    >
    look up fmod() in your favorite reference.

    Comment

    • James Kanze

      #3
      Re: Is there any way that i can find wether float variable contains fraction??

      On Jun 18, 8:15 am, red floyd <no.s...@here.d udewrote:
      nas wrote:
      Is there any way that i can find wether float variable contains
      fraction??
      for eg:-
      if( isWholeNumber(b ))
      {
      //do here
      }
      isWholeNumber(f loat var) should return true for the float numbers like
      10.000 ,11.000 etc
      and it shuold be false for numbers like 10.112 (if it contains
      fraction), 11.092123
      look up fmod() in your favorite reference.
      Interesting. I would have used modf(). (Both will work.)

      --
      James Kanze (GABI Software, from CAI) email:james.kan ze@gmail.com
      Conseils en informatique orientée objet/
      Beratung in objektorientier ter Datenverarbeitu ng
      9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

      Comment

      • =?ISO-8859-1?Q?Erik_Wikstr=F6m?=

        #4
        Re: Is there any way that i can find wether float variable containsfractio n??

        On 2007-06-18 07:52, nas wrote:
        Hi
        >
        Is there any way that i can find wether float variable contains
        fraction??
        for eg:-
        >
        if( isWholeNumber(b ))
        {
        //do here
        }
        >
        isWholeNumber(f loat var) should return true for the float numbers like
        10.000 ,11.000 etc
        >
        and it shuold be false for numbers like 10.112 (if it contains
        fraction), 11.092123
        Cast the number to int and back to float/double again and compare.

        --
        Erik Wikström

        Comment

        • nas

          #5
          Re: Is there any way that i can find wether float variable contains fraction??

          On Jun 18, 2:28 am, Erik Wikström <Erik-wikst...@telia. comwrote:
          On 2007-06-18 07:52, nas wrote:
          >
          >
          >
          >
          >
          Hi
          >
          Is there any way that i can find wether float variable contains
          fraction??
          for eg:-
          >
          if( isWholeNumber(b ))
          {
          //do here
          }
          >
          isWholeNumber(f loat var) should return true for the float numbers like
          10.000 ,11.000 etc
          >
          and it shuold be false for numbers like 10.112 (if it contains
          fraction), 11.092123
          >
          Cast the number to int and back to float/double again and compare.
          >
          --
          Erik Wikström- Hide quoted text -
          >
          - Show quoted text -
          Thanks for all the replies..
          This is what i had thought initially(casti ng to int and back to
          float)..but my doubt is wether this solution works every time?? i
          mean..what i think is there will be a probem becoz of truncation.. but
          i am not able to give the example...do any one have to say about this??

          Comment

          • =?ISO-8859-1?Q?Erik_Wikstr=F6m?=

            #6
            Re: Is there any way that i can find wether float variable containsfractio n??

            On 2007-06-18 11:47, nas wrote:
            On Jun 18, 2:28 am, Erik Wikström <Erik-wikst...@telia. comwrote:
            >On 2007-06-18 07:52, nas wrote:
            >>
            >>
            >>
            >>
            >>
            Hi
            >>
            Is there any way that i can find wether float variable contains
            fraction??
            for eg:-
            >>
            if( isWholeNumber(b ))
            {
            //do here
            }
            >>
            isWholeNumber(f loat var) should return true for the float numbers like
            10.000 ,11.000 etc
            >>
            and it shuold be false for numbers like 10.112 (if it contains
            fraction), 11.092123
            >>
            >Cast the number to int and back to float/double again and compare.
            >>
            >--
            >Erik Wikström- Hide quoted text -
            >>
            >- Show quoted text -
            >
            Thanks for all the replies..
            This is what i had thought initially(casti ng to int and back to
            float)..but my doubt is wether this solution works every time?? i
            mean..what i think is there will be a probem becoz of truncation.. but
            i am not able to give the example...do any one have to say about this??
            It should work for int and double on a x86 since a double can give an
            exact representation of all number an int can (so a float and int should
            also work). This won't work if the number is larger than can be
            represented by an int (or long or whatever you use) but otherwise I can
            see no problem (though I'm no expert on floating point numbers).

            --
            Erik Wikström

            Comment

            • Juha Nieminen

              #7
              Re: Is there any way that i can find wether float variable containsfractio n??

              Erik Wikström wrote:
              Cast the number to int and back to float/double again and compare.
              That works with float but not with double if the value is too large.

              Comment

              • Marcus Kwok

                #8
                Re: Is there any way that i can find wether float variable contains fraction??

                James Kanze <james.kanze@gm ail.comwrote:
                On Jun 18, 8:15 am, red floyd <no.s...@here.d udewrote:
                >nas wrote:
                Is there any way that i can find wether float variable contains
                fraction??
                >
                >look up fmod() in your favorite reference.
                >
                Interesting. I would have used modf(). (Both will work.)
                I would have suggested floor() (or possibly ceil() for negative
                numbers).

                --
                Marcus Kwok
                Replace 'invalid' with 'net' to reply

                Comment

                • Guillermo Schwarz

                  #9
                  Re: Is there any way that i can find wether float variable contains fraction??

                  On Jun 19, 1:05 pm, ricec...@gehenn om.invalid (Marcus Kwok) wrote:
                  James Kanze <james.ka...@gm ail.comwrote:
                  On Jun 18, 8:15 am, red floyd <no.s...@here.d udewrote:
                  nas wrote:
                  Is there any way that i can find wether float variable contains
                  fraction??
                  >
                  look up fmod() in your favorite reference.
                  >
                  Interesting. I would have used modf(). (Both will work.)
                  >
                  I would have suggested floor() (or possibly ceil() for negative
                  numbers).
                  >
                  --
                  Marcus Kwok
                  Replace 'invalid' with 'net' to reply
                  In fact it would be much better to use fractions in the first place,
                  and then if the fraction can't represent the number (for example if it
                  is PI or sqrt(2)) then use float or double.

                  Fractions never loose precision, so 1/3 * 3 is 1, exactly.

                  Comment

                  • Victor Bazarov

                    #10
                    Re: Is there any way that i can find wether float variable contains fraction??

                    Guillermo Schwarz wrote:
                    On Jun 19, 1:05 pm, ricec...@gehenn om.invalid (Marcus Kwok) wrote:
                    >James Kanze <james.ka...@gm ail.comwrote:
                    >>On Jun 18, 8:15 am, red floyd <no.s...@here.d udewrote:
                    >>>nas wrote:
                    >>>>Is there any way that i can find wether float variable contains
                    >>>>fraction? ?
                    >>
                    >>>look up fmod() in your favorite reference.
                    >>
                    >>Interesting . I would have used modf(). (Both will work.)
                    >>
                    >I would have suggested floor() (or possibly ceil() for negative
                    >numbers).
                    >>
                    >--
                    >Marcus Kwok
                    >Replace 'invalid' with 'net' to reply
                    >
                    In fact it would be much better to use fractions in the first place,
                    and then if the fraction can't represent the number (for example if it
                    is PI or sqrt(2)) then use float or double.
                    I always thought that PI was 22/7... Isn't that what Archimedes found
                    like, 2500 years ago?... Or was it Pythagoras? I may have had too much
                    coffee, and it's possible that Pi is not a single fraction but rather
                    a whole bunch of them...
                    Fractions never loose precision, so 1/3 * 3 is 1, exactly.
                    Cool. Better than the alternative, right? On my computer

                    std::cout << (1/3 * 3)

                    prints '0'.


                    Comment

                    • =?ISO-8859-1?Q?Erik_Wikstr=F6m?=

                      #11
                      [OT] Re: Is there any way that i can find wether float variable containsfractio n??

                      On 2007-06-19 22:16, Victor Bazarov wrote:
                      Guillermo Schwarz wrote:
                      >On Jun 19, 1:05 pm, ricec...@gehenn om.invalid (Marcus Kwok) wrote:
                      >>James Kanze <james.ka...@gm ail.comwrote:
                      >>>On Jun 18, 8:15 am, red floyd <no.s...@here.d udewrote:
                      >>>>nas wrote:
                      >>>>>Is there any way that i can find wether float variable contains
                      >>>>>fraction ??
                      >>>
                      >>>>look up fmod() in your favorite reference.
                      >>>
                      >>>Interestin g. I would have used modf(). (Both will work.)
                      >>>
                      >>I would have suggested floor() (or possibly ceil() for negative
                      >>numbers).
                      >>>
                      >>--
                      >>Marcus Kwok
                      >>Replace 'invalid' with 'net' to reply
                      >>
                      >In fact it would be much better to use fractions in the first place,
                      >and then if the fraction can't represent the number (for example if it
                      >is PI or sqrt(2)) then use float or double.
                      >
                      I always thought that PI was 22/7... Isn't that what Archimedes found
                      like, 2500 years ago?... Or was it Pythagoras? I may have had too much
                      coffee, and it's possible that Pi is not a single fraction but rather
                      a whole bunch of them...
                      No, but 22/7, and even better 355/113, are close enough for most
                      practical purposes. The number is irrational and can not be expressed as
                      a fraction. For better approximations you can download the first few
                      millions of decimals from the net :-)

                      --
                      Erik Wikström

                      Comment

                      Working...