INFO: Format Function and International Settings

ID: Q170550

The information in this article applies to:

SUMMARY

The Format function does not always return the expected number format with certain international settings. This article explains this behavior and describes how the Format function interprets its parameters.

MORE INFORMATION

A common use of the Format function is to format numbers for a consistent display. To do this, two parameters are passed to Format. The first parameter is any valid numeric expression, such as 5555.5, "5555.5," etc. The second parameter is a format expression, such as "###,###.00."

The key point of emphasis is this: if the first parameter is a string representation of a number, such as "5555.5," Format expects it to be in the proper regional setting as portrayed in Control Panel / Regional Settings. However, Format always expects the second parameter to be in the "English (United States)" setting.

For example, if the regional setting is such that the decimal symbol is "," and the digit grouping symbol is ".", the following will occur:

   Format(5555.5, "###,###.00") returns "5.555,50"
   Format("5555,5", "###,###.00") returns "5.555,50"
   Format("5.555,5", "###,###.00") returns "5.555,50"

   Format("5555.5", "###,###.00") returns "55.555,00"
   Format("5,555.5", "###,###.00") returns "5,56"

With the regional setting as described above, the number 5555.5 and the string "5555.5" are interpreted quite differently by Format.
Keywords          : kbprg kbVBp400 kbVBp500 VB4WIN VBKBVBA vbwin 
Version           : WINDOWS:1.1 2.0 4.0 5.0 7.0 97
Platform          : NT Win95 WINDOWS
Issue type        : kbinfo

Last Reviewed: October 1, 1997