--- a/crates/jrsonnet-evaluator/src/integrations/serde.rs +++ b/crates/jrsonnet-evaluator/src/integrations/serde.rs @@ -17,7 +17,7 @@ Val::Bool(b) => Value::Bool(*b), Val::Null => Value::Null, Val::Str(s) => Value::String((&s as &str).into()), - Val::Num(n) => Value::Number(if *n <= f64::EPSILON { + Val::Num(n) => Value::Number(if n.fract() <= f64::EPSILON { (*n as i64).into() } else { Number::from_f64(*n).expect("to json number")