axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean ANDRE <>
Subject float type and date time format
Date Thu, 09 Dec 2004 15:30:34 GMT
Bonjour everybody!

Well, I have a strange behavior with floating number and date time format.

 1 ) With float number, 77.99 becomes 77.989998 output string under 
Axis. Why I lost some digits ??????!!!

 2) With datetime format , in c++ test code, I just  moved some fields 
to another one of the same structure and I get the following output 
string: with Axis
 I supposed that Z is for TimeZone ?  But how to construct a time to 
obtain such string ?

With dot-net client application and a java application I got the 
following string:

Thanks a lot for your answers. Take care!

Jean .A - Canada

In c++ test code, I put the following code according to the WSDL.

C++ Test code under Microsoft  Visual C++
class TxnAmount
    float amount;
    xsd__string currency;

    xsd__dateTime txnDate;
    tm* curTime;
    time_t timer;

    amount.amount = 77.99;                // paymentForm.amount
    amount.currency = "USD";            // paymentForm.currency

    memset(&txnDate, 0x00, sizeof(xsd__dateTime));
    timer = time(NULL);
    curTime = localtime( &timer );
    txnDate.tm_isdst    = curTime->tm_isdst;
    txnDate.tm_hour        = curTime->tm_hour;
    txnDate.tm_min        = curTime->tm_min;
    txnDate.tm_sec        = curTime->tm_sec;
    txnDate.tm_wday        = curTime->tm_wday;
    txnDate.tm_yday        = curTime->tm_yday;
    txnDate.tm_mday        = curTime->tm_mday;             // 
paymentForm.txnDateD - day of the month - [1,31]
    txnDate.tm_mon        = curTime->tm_mon;                // 
paymentForm.txnDateM - months since January - [0,11]
    txnDate.tm_year        = curTime->tm_year;                // 
paymentForm.txnDateY - years since 1900

Fragment of the WDSL:
      <xs:element name="txnDate" type="xs:dateTime" minOccurs="0">
      <xs:complexType name="TxnAmount">
          <xs:element name="amount">
              <xs:restriction base="xs:float">
                <xs:minInclusive value="0.00"/>
                <xs:maxInclusive value="9999999999.99"/>
          <xs:element name="currency" minOccurs="0">
              <xs:restriction base="xs:string">
                <xs:enumeration value="USD"/>
                <xs:enumeration value="CAD"/>

Fragment of the string sent by AXIS ??  Look the field amount !!!!


View raw message