I have an app that uses a lot of monetary values and inputs. Since I’m in the US while I’ve been building any number that I needed formatted and currency I’ve just been selecting the “$”. However I’ve come to find out that many of my users are not in the US and are asking for different currency options.

I’m not looking for a currency conversion. The values of the fields can stay the same. I just want the symbol to change.

Ideally what I’m looking for is maybe something global where the users selects their currency from a drop down and it updates all the currency fields across the app.

I’ve seen some post on the forum where users say to use a conditional based on the users location and changing the currency. The thought of having to set up a condition for every field that displays a currency value doesn’t seem productive and there should be an easier way. I probably have 100+ fields across the app.

Hoping someone has quick solution to this that I’ve just missed.

Thanks.

Probably the best way is to create an option set with the most popular currency symbols, set the default at the user or account level to USD/$ and let them change it so when they see the numbers, it’s in that currency.

Note: Be careful that if Users can send each other values (like invoices), this will result in everyone seeing values in their own currency so you may need to store the currency on the User/Account as default AND on the actual Data types.

Yes you will need to change this across the app one time, but at least for now it’s dynamic.

I don’t know of any way that will allow you to change the :formattedas dyanmically now that you’ve already set up those expressions

Thanks for the reply. I started doing this but I already hit my first snag…Input fields.

Right now I have the inputs formatted at currency with the “$” selected.

I’m able to accomplish the currency change but the input has to be a “text” input which breaks a lot of things since heavy calculations happen based on these inputs.

I know I could also keep the input as a number and just not formatted it as currency. I then would have to go around and ad the currency symbol as a text field next to each input like i did below for the this example… Maybe its just mean but this just doesn’t look near as nice.

Am I missing a more elegant solution?

You can pull this off:

Remove the borders from the input
Use an icon that conditionally changes based on the user’s currency
group the icon and the input in a row and decrease the input’s minimum width


image

2 Likes

The solution by @pjngobeni is pretty much the way.

I think their design looks great! You can bring the symbol closer to the number if required as well, up to your design skills.

Your inputs should be formatted as a number (no currency selected) – this should not break anything.

For speed of design:
Create a new style for the input called Invisible, that way you can just quickly change it;
then group that in a parent group called Currency Container which will have your borders, padding etc

1 Like