Addition to fix for bug #12956: cast make differ rounding.

- use rint() in some other val_int() methods as well.
This commit is contained in:
unknown 2005-11-29 18:06:58 +04:00
commit d54359ffda
2 changed files with 4 additions and 4 deletions

View file

@ -159,7 +159,7 @@ struct Hybrid_type_traits
{ val->real/= ulonglong2double(u); }
virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const
{ return (longlong) val->real; }
{ return (longlong) rint(val->real); }
virtual double val_real(Hybrid_type *val) const { return val->real; }
virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const;
virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const;
@ -1341,7 +1341,7 @@ public:
{
return LONGLONG_MAX;
}
return (longlong) (value+(value > 0 ? 0.5 : -0.5));
return (longlong) rint(value);
}
String *val_str(String*);
my_decimal *val_decimal(my_decimal *);