[Follow up with Sebastian]
Well good point and frankly I do not know :)
1. do we support float and double for @Min / @Max?
2. if 1 is yes, I'd be inclined to say the value should be double but
that's not fully automatic.
PS: I don't think the issue is addressable per se, it has to be
understood by users.
On Feb 27, 2009, at 16:54, Sebastian Thomschke wrote:
You have the same problem when the max value is a long:
System.out.println(0.99999999999999997d < 1L);
So one part is the question do we support the @Max for float and
double
properties? And if so how do we address this issue?
Emmanuel Bernard wrote:
Not sure what the correct word is, might be fractional part vs
integer
part.
We are doing comparison so
say @Max(2.3d) applied on 2.2999999999999997d
Also I am comparing a long with it's double equivalent
System.out.println(2.2999999999999997d < 2.3d);
System.out.println(new BigDecimal(""+2.2999999999999997d).compareTo(
new BigDecimal(""+2.3d) ) == -1);
System.out.println( new
BigDecimal(9223372036854775807l).compareTo(new
BigDecimal(9223372036854775807d)) == 0 );
Result
false
false
false
Not a pleasant surprise
On Feb 27, 2009, at 17:20, Sebastian Thomschke wrote:
Yepp, I am aware of these rounding errors, however I think this is
mainly a problem if you are doing float/double based mathematical
operations. We are "only" using the value as a reference.
The alternative would be to have a separate long/int attribute to
specify the value after the decimal point (what's the correct
Engl. word
for this btw.?).
Emmanuel Bernard wrote:
This article scares me
http://firstclassthoughts.co.uk/java/traps/java_double_traps.html
That would make comparison just unreliable. Still thinking it's a
good
idea?
On Feb 27, 2009, at 15:15, Sebastian Thomschke wrote:
Sounds good, in OVal we are also using double.
Emmanuel Bernard wrote:
values are of type long.
Someone asked to move to double. What do you think?
On Feb 27, 2009, at 10:54, Emmanuel Bernard wrote:
On Feb 27, 2009, at 15:11, Hardy Ferentschik wrote:
On Fri, 27 Feb 2009 15:01:40 +0100, Emmanuel Bernard <emman...@hibernate.org
> wrote:
values are of type long.
Someone asked to move to double. What do you think?
Kind of makes sense, since we allow to put @Min and @max onto
decimal fields.
Are there any disadvantages or problems with moving to double?
Looks like double is a no-go
http://firstclassthoughts.co.uk/java/traps/java_double_traps.html
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev