diff --git a/src/hyperparam/one_dimensional_ranges.jl b/src/hyperparam/one_dimensional_ranges.jl index bd12512c..f642345f 100644 --- a/src/hyperparam/one_dimensional_ranges.jl +++ b/src/hyperparam/one_dimensional_ranges.jl @@ -32,6 +32,9 @@ end # throws an exception: function _repr(r::NumericRange{T}, field) where T value = getproperty(r, field) + if !(value isa Integer) + value = round(value, sigdigits=4) + end r.scale isa Symbol && return repr(value) return try scaled = (r.scale)(value) diff --git a/test/hyperparam/one_dimensional_ranges.jl b/test/hyperparam/one_dimensional_ranges.jl index 1567f91e..ce3d352b 100644 --- a/test/hyperparam/one_dimensional_ranges.jl +++ b/test/hyperparam/one_dimensional_ranges.jl @@ -120,10 +120,13 @@ end io = IOBuffer() r1 = range(Int, :junk, lower=1, upper=10) r2 = range(Char, :junk, values=['c', 'd']) + r3 = range(Float64, :junk, lower=3.14159, upper=6.283185) show(io, r1) @test String(take!(io)) == "NumericRange(1 ≤ junk ≤ 10; origin=5.5, unit=4.5)" show(io, r2) @test String(take!(io)) == "NominalRange(junk = c, d)" + show(io, r3) + @test String(take!(io)) == "NumericRange(3.142 ≤ junk ≤ 6.283; origin=4.712, unit=1.571)" close(io) end