Skip to content

Enhance the gbp = TRUE option in pretty_num() #127

@JT-39

Description

@JT-39

Is your feature request related to a problem? Please describe.

When using the gbp = TRUE option in dfeR::pretty_num() it would be amazing if it was "clever" and formatted the value in a usual human-readable manner.

Describe the solution you'd like

What I really mean by this above is, when the value is a whole number, providing no decimal places - so 10 appears as £10, but when the value is not a whole number, providing 2 decimal places - so 10.1 appears as £10.10 or 10.12567 as £10.13.

Describe alternatives you've considered

You can kind of do this by setting dp = 2 and nsmall = 0 but this does not work for the a value with one decimal place - s0 10.1 appears as £10.1 instead of the desired £10.10.

I am aware there are a few other bits of decimal place/ abbreviation functionality developed and being developed, so it will need to carefully interact with those too, which is what may make this a little more complex.

For example, if you have abbreviate = TRUE and gbp = TRUE you will want numbers to appear as £10.10 for 10.1 and £1 million for 1,00,000. Then there is a the added complexity of what if I want to control the dp for the abbreviated numbers, such as dp = 3 so that 1,234,500 appears as £1.235 million but 10.1 still appears as £10.10 and not £10.100.

You could set a hard rule that if you have gbp = TRUE decimal places will be strictly set to 2 even for abbreviated values (unless a whole number). Or... you have a separate abbreviated values decimal place (but this feels like it may be getting quite overengineered).

As always, open to discussion on this and happy to answer questions or help out. 😄

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions