Disregard this post.   inexact->exact does what i want just fine.
Thank you, ƒg

On Sun, Jan 3, 2021 at 12:08 AM Freeman Gilmore <[email protected]>
wrote:

>
>
> On Sat, Jan 2, 2021 at 11:10 PM Aaron Hill <[email protected]>
> wrote:
>
>> On 2021-01-02 7:38 pm, Freeman Gilmore wrote:
>> > How do I change a rounded number (decimal number) to an integer?
>> > Example:  (round 60.76) ==> 61.0     want  ==> 61
>>
>> inexact->exact will do that.
>>
>> ;;;;
>> (inexact->exact (round 60.76))
>> => 61
>> ;;;;
>>
>> > For:
>> > #(define  try  (/ (round 60.76) 64))
>> > #(write try)
>> > ==> 0.953125
>> > Want
>> > ==> 61/64
>>
>> inexact->exact can return a rational, although it will only generate a
>> dyadic rational, that is a rational with a power-of-two denominator.
>> Something like 1.2 will not return 6/5, for instance.
>>
> Aaron:
> You may  now something that may help.   I have a denominator that is a
> power of 2 say 1024 i can not exceed 1024 but it can go smaller. I want the
> numerator to round to the closes 1/1024,    Use this example  132.527/
> 1024  => 133/1024
> Thank you, ƒg
>
>>
>> ;;;;
>> (inexact->exact 0.5)
>> => 1/2
>> (inexact->exact 1.2)
>> => 5404319552844595/4503599627370496
>> ;;;;
>> What you need to do is use a combination of rationalize and
>> inexact->exact:
>>
>> ;;;;
>> (rationalize (inexact->exact 1.2) 1/100)
>> => 6/5
>> ;;;;
>>
>>
>> -- Aaron Hill
>>
>

Reply via email to