• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 294
  • Last Modified:

Decimal separator: how to know which one ('.' or ',') in an application

My application is developped in PowerBuilder v5 and run on Win95 and WinNT.
Problem:  must know the decimal separator the user has setted on his machine.  Sometimes, the language is "French Canadian" and the default separator is ','.  Sometimes, it is "English US" and the default separator is '.'. But the user must have any combination of language/decimal separator.
Is there an API I can call  (I'm new to windows programming)?  If yes, which one and do I have to buy a library or something else ? Can I find the decimal separator in the registry?
1 Solution
Use the WinAPI function GetProfileString to read the sDecimal item from the [intl] section of the WIN.INI.  The item value will be a the string of characters that are used for the decimal separator.

There are several other items in that section that affect number formatting:

sCurrency (the currency symbol)
iCurrency (currency symbol position)
iCurrDigits (number of digits after decimal for currency)
iNegCurrency (formatting of negative currency values)
sThousand (thousands separator)
iDigits (number of digits after decimal for non-currency numbers)
iLzero (use leading zero for values between 1.0 and -1.0 exclusive)

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now