mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
oops, included one thing too many
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@574 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
9c6d1e8dad
commit
78fdf94f89
94
src/QIFIO.c
94
src/QIFIO.c
@ -393,100 +393,6 @@ void xaccParseQIFDate (Date * dat, char * str)
|
|||||||
dat->year += 1900;
|
dat->year += 1900;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************\
|
|
||||||
* xaccParseQIFAmount *
|
|
||||||
* parses dollar ammount of the form DDD,DDD,DDD.CC *
|
|
||||||
* *
|
|
||||||
* Args: str -- pointer to string rep of sum *
|
|
||||||
* Return: int -- in pennies *
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
double xaccParseQIFAmount (char * str)
|
|
||||||
{
|
|
||||||
char * tok;
|
|
||||||
double dollars = 0.0;
|
|
||||||
int len;
|
|
||||||
int isneg = 0;
|
|
||||||
|
|
||||||
if (!str) return 0.0;
|
|
||||||
|
|
||||||
if ('-' == str[0]) {
|
|
||||||
isneg = 1;
|
|
||||||
str += sizeof(char);
|
|
||||||
}
|
|
||||||
|
|
||||||
tok = strchr (str, ',');
|
|
||||||
if (tok) {
|
|
||||||
*tok = 0x0;
|
|
||||||
dollars = ((double) (1000 * atoi (str)));
|
|
||||||
str = tok+sizeof(char);
|
|
||||||
}
|
|
||||||
|
|
||||||
tok = strchr (str, ',');
|
|
||||||
if (tok) {
|
|
||||||
*tok = 0x0;
|
|
||||||
dollars *= 1000.0;
|
|
||||||
dollars += ((double) (1000 * atoi (str)));
|
|
||||||
str = tok+sizeof(char);
|
|
||||||
}
|
|
||||||
|
|
||||||
tok = strchr (str, '.');
|
|
||||||
if (tok) {
|
|
||||||
*tok = 0x0;
|
|
||||||
dollars += ((double) (atoi (str)));
|
|
||||||
str = tok+sizeof(char);
|
|
||||||
|
|
||||||
tok = strchr (str, '\r');
|
|
||||||
if (!tok) {
|
|
||||||
tok = strchr (str, '\n');
|
|
||||||
if (!tok) return dollars;
|
|
||||||
}
|
|
||||||
*tok = 0x0;
|
|
||||||
|
|
||||||
/* strip off garbage at end of the line */
|
|
||||||
tok = strchr (str, '\n');
|
|
||||||
if (tok) *tok = 0x0;
|
|
||||||
|
|
||||||
tok = strchr (str, ' ');
|
|
||||||
if (tok) *tok = 0x0;
|
|
||||||
|
|
||||||
/* adjust for number of decimal places */
|
|
||||||
len = strlen(str);
|
|
||||||
if (6 == len) {
|
|
||||||
dollars += 0.000001 * ((double) atoi (str));
|
|
||||||
} else
|
|
||||||
if (5 == len) {
|
|
||||||
dollars += 0.00001 * ((double) atoi (str));
|
|
||||||
} else
|
|
||||||
if (4 == len) {
|
|
||||||
dollars += 0.0001 * ((double) atoi (str));
|
|
||||||
} else
|
|
||||||
if (3 == len) {
|
|
||||||
dollars += 0.001 * ((double) atoi (str));
|
|
||||||
} else
|
|
||||||
if (2 == len) {
|
|
||||||
dollars += 0.01 * ((double) atoi (str));
|
|
||||||
} else
|
|
||||||
if (1 == len) {
|
|
||||||
dollars += 0.1 * ((double) atoi (str));
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
tok = strchr (str, '\r');
|
|
||||||
if (tok) *tok = 0x0;
|
|
||||||
tok = strchr (str, '\n');
|
|
||||||
if (tok) *tok = 0x0;
|
|
||||||
tok = strchr (str, ' ');
|
|
||||||
if (tok) *tok = 0x0;
|
|
||||||
|
|
||||||
dollars += ((double) (atoi (str)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isneg) dollars = -dollars;
|
|
||||||
|
|
||||||
return dollars;
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user