I'm upgrading a desktop application that currently displays the currency symbol anytime money values are displayed or printed. A friend of my from the UK told me "Whenever British people see software with the American Dollar Sign ($) it automatically turns them off."

Given the fact that we (developers) only have one shot at making a favorable first impression, wouldn't it make more sense to simply format all money values without a currency symbol?

closed as off topic by maple_shaft Apr 28 '12 at 18:57

Questions on Software Engineering Stack Exchange are expected to relate to software engineering within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 6
    the currency symbol? Isn't it a currency symbol? Why not use the symbol of the actual currency? – Max Apr 28 '12 at 14:29
  • did you consider asking at UX.SE? – gnat Apr 28 '12 at 14:31
  • 1
    Yes, leave it out or find the right currency symbol every time (if it is available). Many currencies do not have a symbol like Euro, dollar, pound. In that case a 3 letter abbreviation can help, but you can make that optional. You could also display a "currency flag". I do not know what the right answer is. If the app is small, then decorators can be fine. If it is large, then keep it simple. – Job Apr 28 '12 at 14:33
  • 3
    @CapeCodGunny Please do not cross post the same question on multiple sites. – maple_shaft Apr 28 '12 at 18:58
  • 1
    @maple_shaft To be fair, gnat did suggest asking on ux.se. It'd be better to flag and ask to have this question migrated, but reposting seems understandable. – Caleb Apr 28 '12 at 21:21

If the money values displayed are indeed dollar amounts, you should keep the $ displayed.

Not doing so makes the value ambiguous to those not in the US - they might think these are in their local currency.

If the values are indeed in local currency (whatever it may be), you should display the corresponding currency symbol (again to avoid ambiguity).

  • Absolutist, bit don't kust assumeer thee durende b – Marjan Venema Apr 28 '12 at 14:51
  • Sorry about that, on a mobile. Absolutely display a currency symbol. Amounts can be for multiple different currencies. Think international trading, or purchasing over the Internet. Even if you do not allow for multi-currency, someone may use a currency not being the one from the user's regional settings. – Marjan Venema Apr 28 '12 at 15:02
  • 3
    Using $ rather than USD can still be ambiguous to people in some non-US countries. For example, $ is also the symbol used for the Mexican peso. – Peter Taylor Apr 28 '12 at 15:46

You shouldn't be hard-coding the currency format - so you absolutely shouldn't output currency amounts formatted as $0.00 unless they are quite explicitly in a currency that use $ as its symbol (USD or otherwise).

If the currency in question is the "local" currency then you should use the currency format defined in the o/s (its available in Windows, one assumes that its also available elsewhere) unless the user explicitly chooses to use another format.

Number formats vary - especially use of "," and "." as separators so you should take that into account too

  • Currency symbol must be always present when displaying moneys.

  • Currency symbol should not be persisted with the amount. It should be determined at the runtime either by using culture of a thread that's being executed or by asking user to specify their culture related settings.

  • Just swapping one currency symbol for another isn't enough. You have to convert the amount. E.g. GBP -> USD

  • All this becomes more obvious when you start localising larger applications.

  • When I go on the site and see foreign currency, then I normally distrust the site, as my rights in their country will be very limited if something goes wrong.

Look at what others do:

Amazon doesn't just add currency symbol, it also adds three letter ISO code.

  • Your second point isn't quite right - if there is a specific currency associated with the amount then the currency type needs to be persisted with the amount and that needs to drive the selection of the symbol – Murph Apr 29 '12 at 18:54

Establish a parameter in a configuration file or an environment variable such that at application start you read it and use its value to determine how to display the currency.

Design an application in such a way that if the parameter is not found, you show money values without a currency symbol.

we (developers) only have one shot at making a favorable first impression

Above is right, but this simple fact of life should inspire your creativity, not inhibit it.

- (developers) we show the money values as dollar sign by default,
  would you prefer it the other way?
- (customer) well, let's try it that way first
- okay - see how it works. Anything else?
- you said you can show money values the other way,
  can you show them as "USD"?
- sure, one minute. Okay - see how it works with "USD". Anything else?
- so far so good, can you show money values without a currency symbol?
- sure, one minute. Okay - see how it works that way. Anything else?
- when can I have it?

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