We're developing a feature for our system that allows to relate a certain cost to an hour of working time under a category. So the user will be able to set that a working hour of the category 'IT Support' may costs $1000.

The issue here is that I don't know which is the best way to let the user define the currency they want to use. The cost of the working hours are going to be shown in Excel reports and in a register in a history view.

It has occurred to me that maybe it would be fine if we let the user write the symbol/abbreviation they want to use and then they will have to decide if they want it as a prefix o a suffix. This means we wouldn't use a currency selector.

We have users all around the world.

We have the same problem with thousands and decimal separators. Should we let the user write which separator do they wnat for thousands and wich one for decimals?

  • What is the range of numbers that will be used? So say -1000 till 1000 or -1,000,000 till 1,000,000 and what about an integer. (Note: Not sure if integer is the correct word in English but I mean the value after the 0 so the 34 in 0.34.). – Kevin M. Oct 8 at 14:28
  • No negative values are going to be used. And as we are talking about costos, integer and decimal values are included as well. – Micaela Oriolo Oct 8 at 14:37
  • I suggest you search for any standard. Surely there's an ISO recommendation, a list of currencies, the decimal sign and tje symbol placement. I'm not at my computer right now, but I used an ISO currency list in the past. – roetnig Oct 8 at 20:56
  • Sounds like life would be a lot easier just keeping it all in USD. Is that an option? – Source Oct 9 at 4:45
  • I would love to do that, but sadly it's not an option :( – Micaela Oriolo Oct 9 at 16:16

Usually every OS has culture settings that you can detect. This would be a good start for getting a sensible default for the decimal and thousand separators, and the default currency to use.

It would be a good idea to provide a central place in the app / website where users have an option to override this default culture. This override should be individual to the user.

  • The system is a web application. So, we have to get the data from the browser, because the server is in another location. – Micaela Oriolo Oct 8 at 14:46
  • @MicaelaOriolo Browsers usually provide culture information that you can detect for language, date, and currency settings. They get this information from the OS of the user. – Franchesca Oct 8 at 14:50
  • 1
    And suppose I'm in Argentina but I want to express the cost in dollars... I'll let the user personalize this but, which separators should I use? – Micaela Oriolo Oct 8 at 15:20
  • @MicaelaOriolo The culture settings for Argentina should imply a default thousand separator. You can use this, and then allow the user to override it in the settings if they need to see something else. – Franchesca Oct 9 at 9:37

The way Expensify works is by using a dropdown, and setting a default based on the user's locale. It'll then use the last used currency when creating a new item.

You should not use a regular input, as they are vulnerable to typos, and non-standard options.

Expensify image

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.