Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 32377
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T13:45:12+00:00 2026-05-10T13:45:12+00:00

I am maintaining an app for a client that is used in two locations.

  • 0

I am maintaining an app for a client that is used in two locations. One in England and one in Poland.

The database is stored in England and uses the format £1000.00 for currency, but the information is being gathered locally in Poland where 1000,00 is the format.

My question is, in VB6 is there a function that takes a currency string in a local format and converts to another, or will I just have to parse the string and replace , or . ?

BTW I have looked at CCur, but not sure if that will do what I want.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T13:45:13+00:00Added an answer on May 10, 2026 at 1:45 pm

    The data is not actually stored as the string "£1000.00"; it’s stored in some numeric format.

    Sidebar: Usually databases are set up to store money amounts using either the decimal data type (also called money in some DBs), or as a floating point number (also called double).

    The difference is that when it’s stored as decimal certain numbers like 0.01 are represented exactly whereas in double those numbers can only be stored approximately, causing rounding errors.

    The database appears to be storing the number as "£1000.00" because something is formatting it for display. In VB6, there’s a function FormatCurrency which would take a number like 1000 and return a string like "£1000.00".

    You’ll notice that the FormatCurrency function does not take an argument specifying what type of currency to use. That’s because it, along with all the other locale-specific functions in VB, figures out the currency from the current locale of the system (from the Windows Control Panel).

    That means that on my system,

    Debug.Print FormatCurrency(1000) 

    will print $1,000.00, but if I run that same program on a Windows computer set to the UK locale, it will probably print £1,000.00, which, of course, is something completely different.

    Similarly, you’ve got some code, somewhere, I can’t tell where, in Poland, it seems, that is responsible for parsing the user’s string and converting it to a number. And if that code is in Visual Basic, again, it’s relying on the control panel to decide whether "." or "," is the thousands separator and whether "," or "." is the decimal point.

    The function CDbl converts its argument to a number. So for example on my system in the US

    Debug.Print CDbl("1.200") 

    produces the number one point two, on a system with the Control Panel set to European formatting, it would produce the number one thousand, two hundred.

    It’s possible that the problem is that you have someone sitting a computer with the regional control panel set to use "." as the decimal separator, but they’re typing "," as the decimal separator.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've begun maintaining an MFC desktop app that uses classic ADO. There's a database
I'm maintaining a Windows app that has multiple forms in the one window (
It's basically one app that is installed on multiple PC's, each install maintaining it's
I am maintaining an iOS app that currently uses Core Data to get data
I'm maintaining a web app that has performance problems. I want to record a
I've got an older ASP/VBScript app that I'm maintaining/upgrading and its currently using the
I am maintaining a web application that uses java.protocol.handler. I initialize it with a
I'm maintaining an app that was made for english speaking users. I was asked
I'm maintaining this Swing app that has a print option. Users need to be
I'm maintaining a Windows CE app built with the .NET Framework that has about

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.