[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #10632(closed: fixed)

Opened 18 months ago

Last modified 5 months ago

Percent and permille

Reported by: kent.karlsson14@… Owned by: pedberg
Component: units Data Locale:
Phase: dsub Review: mark
Weeks: Data Xpath:



Percent and permille should be moved to "units" (where ppm, and karat, are already), gaining long and narrow forms (in addition to the current presumably abbreviated form).

Also "percent(age) points" and "permille(age) points" should be added as units. Maybe also include "permyriad" and "permyriad/basis points". Adding also "ppm points", though logical, may be going too far.

(The old location in CLDR data need be kept, for compatibility, but should be auto-generated.)


Change History

comment:1 Changed 17 months ago by mark

  • Owner changed from anybody to shane
  • Priority changed from assess to major
  • type changed from unknown to data
  • Status changed from new to accepted
  • Milestone changed from UNSCH to 33

comment:2 Changed 17 months ago by shane

The units karat and ppm are both under the type "concentr", along with milligram-per-deciliter and millimole-per-liter.

I agree with the idea that percent and permille should be added as first class units. I suggest that they go under a new type, such as "dimensionless", "scalar", or even "none".

comment:3 Changed 15 months ago by mark

  • Status changed from accepted to design
  • Milestone changed from 33 to 34

comment:4 Changed 10 months ago by shane

  • Keywords google added

comment:5 Changed 10 months ago by shane

Percent, permille, and permyriad could just go under "concentr" to be consistent with karat and ppm.

Here is the current root.xml for concentr:

<unit type="concentr-karat">
	<unitPattern count="other">{0} kt</unitPattern>
<unit type="concentr-milligram-per-deciliter">
	<unitPattern count="other">{0} mg/dL</unitPattern>
<unit type="concentr-millimole-per-liter">
	<unitPattern count="other">{0} mmol/L</unitPattern>
<unit type="concentr-part-per-million">
	<unitPattern count="other">{0} ppm</unitPattern>

Percent, permille, and permyriad could be added here:

<unit type="concentr-percent">
	<unitPattern count="other">{0}%</unitPattern>
<unit type="concentr-permille">
	<unitPattern count="other">{0}‰</unitPattern>
<unit type="concentr-permyriad">
	<unitPattern count="other">{0}‱</unitPattern>

I agree that while we are at it, we should also add the "percentage point" and "basis point" variants:

<unit type="concentr-percentage-point">
	<unitPattern count="other">{0} pp</unitPattern>
<unit type="concentr-basis-point">
	<unitPattern count="other">{0} bp</unitPattern>

Is there a "permille point" in common usage? I can't seem to find it.

comment:6 Changed 10 months ago by shane

Possible forms:

Unit Name English Long (plural=other) English Short English Narrow
Percent percent % or pct? %
Percentage point percentage points pp pp
Per mille permille
Permyriad permyriad
Basis point basis points bp bp
Last edited 10 months ago by shane (previous) (diff)

comment:7 Changed 9 months ago by pedberg

  • Owner changed from shane to pedberg
  • Status changed from design to accepted

Per CLDR meeting 2018-05-09: For CLDR 34 do percent and permille, consider others later split off a new ticket. For English use e.g.

  • wide "{0} percent}
  • short/narrow "{0}%"

comment:8 Changed 9 months ago by pedberg

  • Status changed from accepted to reviewing
  • Xref set to 11098
  • Review set to mark

Under this ticket we are just doing percent and permille; split off cldrbug 11098: for the others.

Added "concentr-percent" and "concentr-permille" in root and en; added them in unitOrder in DtdData.java.

Set coverage to moderate for "concentr-percent" (otherwise new units default to modern coverage).

Also updated SimpleXMLSource.NON_ALPHANUM, which is the set of things to NOT strip when normalizing values for comparison, to add percents/permilles (otherwise we get bogus name collision errors):


Do not need to also add the following, since they have compatibility decomps and the normalization does an NFKC decomp before stripping:


Updated the spec for these new units, and also for the new unit items in 3 other tickets: cldrbug 9986:, cldrbug 10410:, cldrbug 10600:

comment:9 Changed 9 months ago by mark

As I discussed, there is a set of other units that people are looking to add. Of those, I think the following shouldn't be contentious.

Energy Gram calorie
Energy Watt hour
Energy Electronvolt
Energy British thermal unit
Energy US therm
Energy Foot-pound
Pressure Atmosphere
Speed Foot per second
Time Decade
Pressure Pascal
Pressure Bar

I'm including the others below, in case people want to discuss them.

Digital storage Kibibit
Digital storage Mebibit
Digital storage Gibibit
Digital storage Tebibit
Digital storage Pebibit
Digital storage Kibibyte
Digital storage Mebibyte
Digital storage Gibibyte
Digital storage Tebibyte
Digital storage Pebibyte
Mass Imperial ton
Volume Imperial quart
Volume Imperial fluid ounce
Volume Imperial tablespoon
Volume Imperial teaspoon
Plane angle Gradian
Pressure Torr

comment:10 Changed 9 months ago by mark

  • Cc mark added

comment:11 Changed 9 months ago by pedberg

This bug is already in review. Requests for new units should go into a separate bug please.

comment:12 Changed 5 months ago by mark

  • Status changed from reviewing to closed
  • Resolution set to fixed

Add a comment

Modify Ticket

as closed
Next status will be 'new'
Next status will be 'closed'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.