In short: Magento 2 has no admin setting for price decimals. The free lillik/magento2-price-decimal module changed price formatting in a Magento Open Source 2.4.9 test, but it also rounded saved order totals and the admin price field, so try it on a copy first.
Magento 2 shows prices with two decimals by default. You may want £34 instead of £34.00, or one decimal instead of two. This guide shows how to change that with a free module, what the module did in a test on Magento Open Source 2.4.9, and the one thing to check before it goes near a live store: your order totals.
Tested on: Magento Open Source 2.4.9 (Composer install), PHP 8.4, MariaDB 11.4, lillik/magento2-price-decimal 1.0.9, with pounds and yen as display currencies.
Does Magento 2 have a setting for price decimals?
No. The currency options in the admin cover the base currency, the display currency and the allowed currencies[3]. The Currency Symbols screen customises the symbol[4], and neither page mentions decimals. In the code, the default precision for formatting prices is 2[5], and the standard rounding method rounds to 2 decimals[6]. The price format that storefront JavaScript uses is worked out from the currency's locale pattern[7].
So there is nothing to switch in the admin. Showing fewer or more decimals needs a module or custom code.
Does a zero-decimal currency such as the yen fix it?
Not in the setup tested. In a test with a pound base currency, a conversion rate of 190.5 and the display currency set to yen, with the module disabled, the product page still showed JP¥6,572.25, while the JavaScript price format asked for zero decimals. The server-rendered yen price kept its two decimals, and changing the display currency alone did not remove them.
How do you remove or change the decimals with the free module?
Try this on a copy of your store first, with a backup of the code and the database. It changes how prices are rounded, not only how they look. You use this information at your own risk, and iLogr accepts no responsibility for any loss or damage.
The module lillik/
composer require lillik/magento2-price-decimal:1.0.9
bin/magento module:enable Lillik_PriceDecimal
bin/magento setup:upgrade
bin/magento cache:flush
In production mode, run bin/ and your usual deployment steps as well; compilation finished without errors in the test. Right after installation nothing changes, because the module is switched off until you enable it.
The settings are under Stores > Configuration > Catalog > Simple Price Decimal (Precision)[1]:
- Enable: turns the module on.
- Show the decimal? Choose No to show whole numbers only.
- Decimal Length: 1 to 4 decimals, used when "Show the decimal?" is Yes.
This is what the store showed for a product priced at 34.50 and a price of 34.00:
| Setting | 34.00 shows as | 34.50 shows as |
|---|---|---|
| Module off, or Decimal Length 2 | £34.00 | £34.50 |
| Show the decimal? No | £34 | £35 |
| Decimal Length 1 | £34.0 | £34.5 |
Two things stand out. "No" rounds instead of trimming, so £34.50 becomes £35. And one decimal keeps the trailing zero, so £34.00 becomes £34.0. The module's own to-do list names an option to remove only zero decimals[1], so showing £34 but keeping £34.50 is not available.
What does the module do to order totals and the admin price field?
It changes more than the display. In the test, an order of three items at £9.99 with 20% tax and flat-rate shipping was saved three ways:
| Setting | Subtotal | Tax | Grand total |
|---|---|---|---|
| Module off, or Decimal Length 2 | 29.97 | 5.99 | 50.96 |
| Show the decimal? No, or Decimal Length 1 | 30.00 | 6.00 | 51.00 |

The saved order carried the rounded amounts: a grand total of 51.00 although the goods, tax and shipping add up to 50.96. The module also replaces the standard rounding method[1][6]. When only that replacement was switched off in the test, the prices still showed without decimals and the saved totals went back to 29.97, 5.99 and 50.96. The display and the rounding are separate halves, and the rounding is the risky one.
The admin product form is affected as well. A product stored at 34.50 showed 35 in the price field with "Show the decimal?" set to No. The form data held 35 rather than 34.50, which points to a possible price change on save; a browser save was not tested.
The project's issue list shows related reports: removing decimals in the cart and checkout, special prices that keep two decimals, and a product price changing after a save in the admin. One issue asking whether the module is still maintained has no reply[1]. The most recent release is from March 2026[2], so there is recent activity, but treat it as community code.
Can you set different decimals for each currency or store view?
No. The section is available at default and website level only[1]. The module's README says the settings are individual per currency, but the configuration has no currency setting. In the test, with "Show the decimal?" set to No, the same rule applied to yen (JP¥6,572) and to pounds (£35). Within one website, the module has no separate precision setting for each currency.
When is the module a sensible choice?
It fits a store whose prices, tax and shipping are all whole numbers, where the extra .00 is only noise. Even then, compare totals first, as in the next step. Be careful with percentage tax, discounts, several currencies or payment gateways that check the charged amount, because the rounding can make an order total differ from the sum of its parts.
Whichever tool you choose, it should change formatting and leave the rounding used for totals alone. Ask the developer or vendor which of the two an extension touches. For any alternative, check support for your Magento version and compare saved totals before deployment.
How do you switch it off again?
Set Enable to No and flush the cache. In the test, the product page returned to £34.50 after the cache flush. Orders placed while the module was on keep their rounded amounts, so correct them in your accounts if you used it on a live store.
More short Magento 2 guides are under the Magento 2 tag.
References
Numbers in square brackets in the text link to these sources.
- lillik, "magento2-
price- .Used for: the module's settings, rounding plugin and open issues.decimal" (README, configuration, plugins and issues) (opens in a new tab) - Packagist, "lillik/
magento2- .Used for: the 1.0.9 release date and requirements.price- decimal" (opens in a new tab) - Adobe, "Currency configuration" (opens in a new tab).Used for: the currency options, which have no decimal setting.
- Adobe, "Currency" (opens in a new tab).Used for: customising currency symbols.
- Magento 2.4.9 source, PriceCurrencyInterface (opens in a new tab).Used for: the default precision of 2.
- Magento 2.4.9 source, Directory PriceCurrency (opens in a new tab).Used for: the standard rounding to 2 decimals.
- Magento 2.4.9 source, Locale Format (opens in a new tab).Used for: how the JavaScript price format is built.