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());
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user