Author Login
Post Reply
Ronny Løvtangen wrote:
> Yes, I would expect all variants to produce the same result, so I guess it's not intended.
> I also tried with new BigDecimal(d)
> In both 1.6.5, 1.6.6 an 1.7.0, the result is 0.1411200080598672135234750157906091772019863128662109375.
I don't recall whether there was a change at 1.6.5 or not, although I
have a faint memory of doing something in that area.
I don't agree though that all forms of coercion should give the same
result.
The assignment is doing a cast rather than a "groovy" (typical expected
human-friendly result) conversion that "as" does and is full precision.
When doing calculations there must be a way to get that, and I'm
thinking there was a change for just that purpose.
Unfortunately I can't look into this deeper at the moment. Perhaps
someday we can just have a FAQ that points to the relevant paragraph in
the spec...
Jim
> Ronny
>
> On Feb 8, 2010, at 11:00 PM, Paul King wrote:
>
>
>>I suspect it isn't intended but haven't yet checked the related
>>Jiras that occurred around that time.
>>
>>Paul.
>>
>>Ronny Løvtangen wrote:
>>
>>>Is this change in behavior from Groovy 1.6.5 to 1.6.6 and later intended, or not?
>>>Double d = Math.sin(3)
>>>BigDecimal b1 = d.toBigDecimal()
>>>BigDecimal b2 = d as BigDecimal
>>>BigDecimal b3 = d
>>>println d
>>>println b1
>>>println b2
>>>println b3
>>>Result, Groovy 1.6.5:
>>>0.1411200080598672
>>>0.1411200080598672
>>>0.1411200080598672
>>>0.1411200080598672
>>>Result, Groovy 1.6.6 and 1.7.0:
>>>0.1411200080598672
>>>0.1411200080598672
>>>0.1411200080598672
>>>0.1411200080598672135234750157906091772019863128662109375
>>>Ronny
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email