Welcome, Guest
Username: Password: Remember me

TOPIC: Formating Grid Decimals - Currency

Formating Grid Decimals - Currency 29 Jul 2021 12:44 #15851

  • organicwebs
  • organicwebs's Avatar
  • Offline
  • Premium Member
  • Chris
  • Posts: 133
  • Thank you received: 21
  • Karma: 4
Hi,
I'd like my currency values to hide the cents... so in the Grid - just show $99 and not $99.00.

(All those extra ".00" are taking up valuable width in my List).

I've set these fields to be type Decimal 10,0 - but the 2 decimal places show up in the JCook generated lists. (That could be a bug to fix one day).

In my default_grid.php is this JDom:
echo JDom::_('html.fly.decimal.financial', array(
						'currencyFormat' => '$ %s',
						'dataKey' => 'total_cost',
						'dataObject' => $row,
						'emptyZero' => true
					));

What do I add or change in here?
Just call me Chris :)
The administrator has disabled public write access.

Formating Grid Decimals - Currency 02 Aug 2021 09:37 #15852

  • organicwebs
  • organicwebs's Avatar
  • Offline
  • Premium Member
  • Chris
  • Posts: 133
  • Thank you received: 21
  • Karma: 4
The decimals property should work - but there is a bug in the JDom.

This is the code that should work - to set the decimal in a financial decimal...
echo JDom::_('html.fly.decimal.financial', array(
						'currencyFormat' => '$ %s',
                                                'decimals' => '0',
						'dataKey' => 'total_cost',
						'dataObject' => $row,
						'emptyZero' => true
					));

But there is a problem with the JDOM code financial.php at line 52 here...

Bad code:
if (empty($this->decimals))
			$this->decimals = 2;

The code sees "decimal = 0" as empty - and defaults to 2 decimal places!

This code needs to be
if (!isset($this->decimals))
			$this->decimals = 2;

To fix this you need to manually edit line 52 of /public_html/libraries/jdom/html/fly/decimal/financial.php
Just call me Chris :)
The administrator has disabled public write access.
The following user(s) said Thank You: Romkabouter
Time to create page: 0.085 seconds

Get Started