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:
parent
b3b82d0138
commit
d850474bee
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user