Packages
ex_cldr
0.0.3
2.47.5
2.47.4
2.47.3
2.47.2
2.47.1
2.47.0
2.46.0
2.45.2
2.45.1
2.45.0
2.44.1
2.44.0
2.43.2
2.43.1
2.43.0
2.42.0
2.41.1
2.41.0
2.40.4
2.40.3
2.40.2
2.40.1
2.40.0
2.39.2
2.39.1
2.39.0
2.38.1
2.38.0
2.37.5
2.37.4
2.37.3
retired
2.37.2
2.37.1
2.37.0
2.36.0
2.35.1
2.35.0
retired
2.34.2
2.34.1
2.34.0
2.33.2
2.33.1
2.33.1-rc.0
2.33.0
2.32.1
2.32.0
2.31.0
2.30.0
2.29.0
2.28.0
2.27.1
2.27.0
retired
2.26.3
2.26.2
2.26.1
2.26.0
2.25.0
2.24.2
2.24.1
2.24.0
2.24.0-rc.6
2.24.0-rc.5
2.24.0-rc.4
2.24.0-rc.3
2.24.0-rc.2
2.24.0-rc.1
2.24.0-rc.0
2.23.2
2.23.1
2.23.0
2.22.1
2.22.0
2.21.0
2.20.0
2.20.0-rc.3
2.20.0-rc.2
2.20.0-rc.1
2.20.0-rc.0
2.19.1
2.19.0
2.18.2
2.18.1
2.18.0
2.18.0-rc.0
2.17.2
2.17.1
2.17.0
2.16.2
2.16.1
2.16.1-rc.0
2.16.0
2.15.0
2.14.1
2.14.0
2.14.0-rc.0
2.13.0
2.12.1
2.12.0
2.11.1
2.11.0
2.10.2
2.10.1
2.10.0
retired
2.9.0
2.8.1
2.8.0
2.7.2
2.7.1
2.7.0
2.6.2
2.6.1
2.6.0
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.2
2.3.1
2.3.0
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.0
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.3
retired
2.0.0-rc.2
retired
2.0.0-rc.1
retired
2.0.0-rc.0
retired
1.8.2
1.8.1
1.8.0
1.7.1
1.7.0
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
retired
1.4.0-rc.3
retired
1.4.0-rc.2
retired
1.4.0-rc.1
retired
1.4.0-rc.0
retired
1.3.2
1.3.1
1.3.0
1.2.0
1.1.0
1.0.0
1.0.0-rc.3
retired
1.0.0-rc.2
retired
1.0.0-rc.1
retired
1.0.0-rc.0
retired
0.13.1
0.13.0
0.12.2
retired
0.12.1
retired
0.12.0
retired
0.11.0
retired
0.10.0
retired
0.9.0
retired
0.8.3
retired
0.8.2
retired
0.8.1
retired
0.8.0
retired
0.7.0
retired
0.6.2
retired
0.6.1
retired
0.6.0
retired
0.5.2
retired
0.5.1
retired
0.5.0
retired
0.4.2
retired
0.4.1
retired
0.4.0
retired
0.3.0
retired
0.2.1
retired
0.2.0
retired
0.1.3
retired
0.1.2
retired
0.1.1
retired
0.1.0
retired
0.0.20
retired
0.0.19
retired
0.0.18
retired
0.0.17
retired
0.0.16
retired
0.0.15
retired
0.0.14
retired
0.0.13
retired
0.0.12
retired
0.0.11
retired
0.0.10
retired
0.0.8
retired
0.0.7
retired
0.0.6
retired
0.0.5
retired
0.0.4
retired
0.0.3
retired
Common Locale Data Repository (CLDR) functions for Elixir to localize and format numbers, dates, lists, messages, languages, territories and units with support for over 700 locales for internationalized (i18n) and localized (L10N) applications.
Retired package: Deprecated
Current section
Files
Jump to
Current section
Files
test/significant_digits_test.exs
defmodule Significant.Digits.Test do
use ExUnit.Case
test "round 1,239,451 to 3 significant digits and return 1,240,000" do
assert 1_240_000 == Cldr.Number.Math.round_significant(1239451, 3)
end
test "round 12.1257 to 3 significant digits and return 12.1" do
assert 12.1 == Cldr.Number.Math.round_significant(12.1257, 3)
end
test "round .0681 to 3 significant digits and return .0681" do
assert 0.0681 == Cldr.Number.Math.round_significant(0.0681, 3)
end
test "round 5 to 3 significant digits and return 5" do
assert 5 == Cldr.Number.Math.round_significant(5, 3)
end
# From TR35 Section 3.5
test "round 12345 to 3 significant digits and return 12300" do
assert 12300 == Cldr.Number.Math.round_significant(12345, 3)
end
test "round 0.12345 to 3 significant digits and return 0.123" do
assert 0.123 == Cldr.Number.Math.round_significant(0.12345, 3)
end
test "round 3.14159 to 4 significant digits and return 3.142" do
assert 3.142 == Cldr.Number.Math.round_significant(3.14159, 4)
end
test "round 1.23004 to 4 significant digits and return 1.23" do
assert 1.23 == Cldr.Number.Math.round_significant(1.23004, 4)
end
# Decimal tests
test "round decimal 12345 to 3 significant digits and return 12300" do
assert Decimal.reduce(Decimal.new(12300)) ==
Cldr.Number.Math.round_significant(Decimal.new(12345), 3)
end
test "round decimal 0.12345 to 3 significant digits and return 0.123" do
assert Decimal.new(0.123) ==
Cldr.Number.Math.round_significant(Decimal.new(0.12345), 3)
end
test "round decimal 3.14159 to 4 significant digits and return 3.142" do
assert Decimal.new(3.142) ==
Cldr.Number.Math.round_significant(Decimal.new(3.14159), 4)
end
test "round decimal 1.23004 to 4 significant digits and return 1.23" do
assert Decimal.new(1.23) ==
Cldr.Number.Math.round_significant(Decimal.new(1.23004), 4)
end
test "round negative decimal -1.23004 to 4 significant digits and return 1.23" do
assert Decimal.new(-1.23) ==
Cldr.Number.Math.round_significant(Decimal.new(-1.23004), 4)
end
end