fixed a bug with fractional part in a negative value

This commit is contained in:
Michiharu Ariza 2018-12-05 11:18:16 -08:00
parent 620d1ef588
commit a5fa843c74
1 changed files with 5 additions and 1 deletions

View File

@ -146,7 +146,11 @@ struct DictOpSet : OpSet<Number>
case END: case END:
value = (double)(neg? -int_part: int_part); value = (double)(neg? -int_part: int_part);
if (frac_count > 0) if (frac_count > 0)
value += (frac_part / pow (10.0, (double)frac_count)); {
double frac = (frac_part / pow (10.0, (double)frac_count));
if (neg) frac = -frac;
value += frac;
}
if (unlikely (exp_overflow)) if (unlikely (exp_overflow))
{ {
if (value == 0.0) if (value == 0.0)