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());
n.round(decimals());
if (!picture().blank())
{
TToken_string delim(4, ','); // Stringa con i due delimitatori
const char* pic = picture(); // Picture senza delimitatori
if (pic[0] == '(') // Se ci sono i delimitatori ...
{
const int bra = picture().find(')');
if (bra > 0) // ... cerca la parentesi chiusa
if (!n.is_zero())
{
if (!picture().blank())
{
TToken_string delim(4, ','); // Stringa con i due delimitatori
const char* pic = picture(); // Picture senza delimitatori
if (pic[0] == '(') // Se ci sono i delimitatori ...
{
delim = picture().sub(1, bra); // memorizza delimitatori
pic += bra+1; // toglili dalla picture
}
}
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)
const int bra = picture().find(')');
if (bra > 0) // ... cerca la parentesi chiusa
{
s.insert(" ", 0); // ... inseriscilo all'inizio
spc = 0;
delim = picture().sub(1, bra); // memorizza delimitatori
pic += bra+1; // toglili dalla picture
}
s[spc] = d;
}
d = delim.get_char();
if (d > ' ') // Se il secondo delimitatore e' valido ...
}
TString80 s(n.string(pic)); // riempi la stringa col valore pitturato
if (!delim.empty_items()) // Aggiungi delimitatori
{
s.rtrim();
s << d; // ... aggiungilo alla fine
}
}
put_paragraph(s);
}
else
put_paragraph(n.string());
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
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;