"didier deshommes" <[EMAIL PROTECTED]> writes:

> On Thu, Mar 6, 2008 at 4:22 PM, Nikos Apostolakis <[EMAIL PROTECTED]> wrote:
>>
>>  Hello group,
>>
>>  Is the following behavior a bug, or am I missing some fundamental
>>  understanding about how Integer works?
>>
>>  ,----
>>  | sage: num = RealField(12).random_element(1,9.99)
>>  | sage: num
>>  | 3.18
>>  | sage: num*100
>>  | 318.
>>  | sage: Integer(_)
>
> I can confirm this. I think numbers are rounded up when they are
> printed, which leads to confusion:
> {{{
> sage: num = RealField(12).random_element(1,9.99)*100
> sage: num
>  406.
> }}}
>
> But num is actually ~405.725! :
> {{{
> sage: num -406
>  -0.375
>
> }}}
>
> And so ZZ(num) will fail, as it should, since num ~ 405.725.
>

Hm, I see! This behavior is very confusing. Wouldn't you say it *is*
a bug?

Anyway to get what I expected to get I can do something like

sage: Integer(sage_eval(str(num))*100)                                          
                        
318

but it seems like an ugly hack.  Is there another way?

Thanks,
Nikos


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to