Microsoft KB Archive/312445

From BetaArchive Wiki
Knowledge Base


ConvertMoneyStringToNumber of DataFunctions_4_0 Returns Incorrect Value

Article ID: 312445

Article Last Modified on 9/23/2005



APPLIES TO

  • Microsoft Commerce Server 2000 Service Pack 1
  • Microsoft Commerce Server 2000 Service Pack 2
  • Microsoft BizTalk Server 2000 Standard Edition
  • Microsoft BizTalk Server 2000 Service Pack 1a



This article was previously published under Q312445

SYMPTOMS

The ConvertMoneyStringToNumber method of the DataFunctions_4_0 component (included with Commerce Server 2000 and BizTalk Server 2000) returns values in the base monetary unit for a given locale. Therefore, if a value is given in dollars, ConvertMoneyStringToNumber returns the number of cents for the dollar value. However, there may be times when ConvertMoneyStringToNumber converts the value incorrectly, losing one cent. For example, ConvertMoneyStringToNumber converts $1.50 to 149 cents instead of 150 cents.

RESOLUTION

To resolve this problem, obtain the latest service pack for Commerce Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

297216 INFO: How to Obtain the Latest Commerce Server 2000 Service Pack


The English version of this fix should have the following file attributes or later:

   Date         Time      Version     Size     File name     
   -----------------------------------------------------------
   14-Dec-2001  12:17:51  4.0.3022.0  176,400  Mscsasphelp.dll
                



STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Commerce Server 2000 Service Pack 3 (SP3).

MORE INFORMATION

The following is a Microsoft Visual Basic code example for accessing the ConvertMoneyStringToNumber method:

Public Function ConvertOneUSDollar() As Double
    Dim objDataFunc As MSCSAspHelpLib.DataFunctions_4_0
    Set objDataFunc = New MSCSAspHelpLib.DataFunctions_4_0
    ConvertOneUSDollar = objDataFunc.ConvertMoneyStringToNumber("1", "1033")
End Function
                


Additional query words: ConvertMoneyStringToValue

Keywords: kbbug kbfix kbcommserv2000sp3fix kbqfe kbcommserv2000presp3fix kbhotfixserver KB312445