Skip to content

Commit

Permalink
Change USDC decimal places from 2 to 6
Browse files Browse the repository at this point in the history
This fix can introduce a breaking change

Before:
```
Money.new(100, "USDC").to_s
 => "1.00"
```


After:
```
Money.new(100, "USDC").to_s
 => "0.000100" 
```

Close #1081
  • Loading branch information
tagliala committed Mar 22, 2024
1 parent 73b84b5 commit a0559b9
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Upcoming

-
- **Potential breaking change**: Fix USDC decimals places from 2 to 6

## 6.19.0

Expand Down
2 changes: 1 addition & 1 deletion config/currency_non_iso.json
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
"disambiguate_symbol": "USDC",
"alternate_symbols": [],
"subunit": "Cent",
"subunit_to_unit": 100,
"subunit_to_unit": 1000000,
"symbol_first": false,
"html_entity": "$",
"decimal_mark": ".",
Expand Down
10 changes: 5 additions & 5 deletions spec/money/formatting_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,7 @@
expect(Money.new(1999_98, "NOK").format).to eq("1.999,98 kr")
expect(Money.new(1999_98, "SEK").format).to eq("1 999,98 kr")
expect(Money.new(1999_98, "BCH").format).to eq("0.00199998 ₿")
expect(Money.new(1999_98, "USDC").format).to eq("1,999.98 USDC")
expect(Money.new(1999_98, "USDC").format).to eq("0.199998 USDC")
end

it "returns ambiguous signs when disambiguate is false" do
Expand All @@ -868,7 +868,7 @@
expect(Money.new(1999_98, "NOK").format(disambiguate: false)).to eq("1.999,98 kr")
expect(Money.new(1999_98, "SEK").format(disambiguate: false)).to eq("1 999,98 kr")
expect(Money.new(1999_98, "BCH").format(disambiguate: false)).to eq("0.00199998 ₿")
expect(Money.new(1999_98, "USDC").format(disambiguate: false)).to eq("1,999.98 USDC")
expect(Money.new(1999_98, "USDC").format(disambiguate: false)).to eq("0.199998 USDC")
end

it "returns disambiguate signs when disambiguate: true" do
Expand All @@ -878,7 +878,7 @@
expect(Money.new(1999_98, "NOK").format(disambiguate: true)).to eq("1.999,98 NOK")
expect(Money.new(1999_98, "SEK").format(disambiguate: true)).to eq("1 999,98 SEK")
expect(Money.new(1999_98, "BCH").format(disambiguate: true)).to eq("0.00199998 ₿CH")
expect(Money.new(1999_98, "USDC").format(disambiguate: true)).to eq("1,999.98 USDC")
expect(Money.new(1999_98, "USDC").format(disambiguate: true)).to eq("0.199998 USDC")
end

it "returns disambiguate signs when disambiguate: true and symbol: true" do
Expand All @@ -888,7 +888,7 @@
expect(Money.new(1999_98, "NOK").format(disambiguate: true, symbol: true)).to eq("1.999,98 NOK")
expect(Money.new(1999_98, "SEK").format(disambiguate: true, symbol: true)).to eq("1 999,98 SEK")
expect(Money.new(1999_98, "BCH").format(disambiguate: true, symbol: true)).to eq("0.00199998 ₿CH")
expect(Money.new(1999_98, "USDC").format(disambiguate: true, symbol: true)).to eq("1,999.98 USDC")
expect(Money.new(1999_98, "USDC").format(disambiguate: true, symbol: true)).to eq("0.199998 USDC")
end

it "returns no signs when disambiguate: true and symbol: false" do
Expand All @@ -898,7 +898,7 @@
expect(Money.new(1999_98, "NOK").format(disambiguate: true, symbol: false)).to eq("1.999,98")
expect(Money.new(1999_98, "SEK").format(disambiguate: true, symbol: false)).to eq("1 999,98")
expect(Money.new(1999_98, "BCH").format(disambiguate: true, symbol: false)).to eq("0.00199998")
expect(Money.new(1999_98, "USDC").format(disambiguate: true, symbol: false)).to eq("1,999.98")
expect(Money.new(1999_98, "USDC").format(disambiguate: true, symbol: false)).to eq("0.199998")
end

it "should never return an ambiguous format with disambiguate: true" do
Expand Down

0 comments on commit a0559b9

Please sign in to comment.