Non stampa i numeri zero

git-svn-id: svn://10.65.10.50/trunk@1802 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-09-11 10:26:59 +00:00
parent b3b82d0138
commit d850474bee

View File

@ -1108,53 +1108,56 @@ bool TForm_number::update()
real n(get()); real n(get());
n.round(decimals()); n.round(decimals());
if (!picture().blank()) if (!n.is_zero())
{ {
TToken_string delim(4, ','); // Stringa con i due delimitatori if (!picture().blank())
const char* pic = picture(); // Picture senza delimitatori {
TToken_string delim(4, ','); // Stringa con i due delimitatori
if (pic[0] == '(') // Se ci sono i delimitatori ... const char* pic = picture(); // Picture senza delimitatori
{
const int bra = picture().find(')'); if (pic[0] == '(') // Se ci sono i delimitatori ...
if (bra > 0) // ... cerca la parentesi chiusa
{ {
delim = picture().sub(1, bra); // memorizza delimitatori const int bra = picture().find(')');
pic += bra+1; // toglili dalla picture if (bra > 0) // ... cerca la parentesi chiusa
}
}
TString80 s(n.string(pic)); // riempi la stringa col valore pitturato
if (!delim.empty_items()) // Aggiungi delimitatori
{
char d = delim.get_char(0);
if (d > ' ') // Se il primo delimitatore e' valido ...
{
int spc = -1;
for (int i = 0; s[i]; i++)
if (s[i] != ' ') // Sostituiscilo all'ultimo spazio iniziale
{
spc = i-1;
break;
}
if (spc < 0)
{ {
s.insert(" ", 0); // ... inseriscilo all'inizio delim = picture().sub(1, bra); // memorizza delimitatori
spc = 0; pic += bra+1; // toglili dalla picture
} }
s[spc] = d; }
}
d = delim.get_char(); TString80 s(n.string(pic)); // riempi la stringa col valore pitturato
if (d > ' ') // Se il secondo delimitatore e' valido ...
if (!delim.empty_items()) // Aggiungi delimitatori
{ {
s.rtrim(); char d = delim.get_char(0);
s << d; // ... aggiungilo alla fine if (d > ' ') // Se il primo delimitatore e' valido ...
} {
} int spc = -1;
put_paragraph(s); for (int i = 0; s[i]; i++)
} if (s[i] != ' ') // Sostituiscilo all'ultimo spazio iniziale
else {
put_paragraph(n.string()); spc = i-1;
break;
}
if (spc < 0)
{
s.insert(" ", 0); // ... inseriscilo all'inizio
spc = 0;
}
s[spc] = d;
}
d = delim.get_char();
if (d > ' ') // Se il secondo delimitatore e' valido ...
{
s.rtrim();
s << d; // ... aggiungilo alla fine
}
}
put_paragraph(s);
}
else
put_paragraph(n.string());
}
} }
return TRUE; return TRUE;