summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorLaurent BP <laurent.balland-poirier@laposte.net>2018-06-15 20:41:18 +0200
committerEike Rathke <erack@redhat.com>2018-06-21 00:47:48 +0200
commit57eec349eeb0cf7d0acdeff09daed5867385db4d (patch)
tree8aa0e9220122d4017222e9465dd9a06517e5ed46 /svl
parent48a58bb72eb936eb983ef6423b5a137119865fa8 (diff)
tdf#117575 treat thousand sep with ? in integer part
'?' was missing when treating thousand separator However, format with '?' in integer part are not saved in ODF. Change-Id: I1d684a31f800f10bf9a04babb0b9fec34e28e72a Reviewed-on: https://gerrit.libreoffice.org/55901 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 062e0999c2b7923e463f1611204a63f0bb7b6404) Reviewed-on: https://gerrit.libreoffice.org/56147
Diffstat (limited to 'svl')
-rw-r--r--svl/source/numbers/zformat.cxx8
-rw-r--r--svl/source/numbers/zforscan.cxx6
2 files changed, 4 insertions, 10 deletions
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index e24ef037f7ba..a863b984891d 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -4434,13 +4434,7 @@ bool SvNumberformat::ImpNumberFillWithThousands( OUStringBuffer& sBuff, // numb
; // nothing
break;
case '?':
- // erAck: 2008-04-03T16:24+0200
- // Actually this currently isn't executed
- // because the format scanner in the context of
- // "?," doesn't generate a group separator but
- // a literal ',' character instead that is
- // inserted unconditionally. Should be changed
- // on some occasion.
+ // replace thousand separator with blank
sBuff.insert(k, ' ');
break;
default:
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index 40b522d074a9..ea9e24236b4c 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -2070,8 +2070,8 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString )
}
}
else if (i > 0 && i < nStringsCnt-1 &&
- (cPre == '#' || cPre == '0') &&
- ((cNext = NextChar(i)) == '#' || cNext == '0')) // #,#
+ (cPre == '#' || cPre == '0' || cPre == '?') &&
+ ((cNext = NextChar(i)) == '#' || cNext == '0' || cNext == '?')) // #,#
{
nPos = nPos + sStrArray[i].getLength();
if (!bThousand) // only once
@@ -2083,7 +2083,7 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString )
nResultStringsCnt--;
i++;
}
- else if (i > 0 && (cPre == '#' || cPre == '0')
+ else if (i > 0 && (cPre == '#' || cPre == '0' || cPre == '?')
&& PreviousType(i) == NF_SYMBOLTYPE_DIGIT
&& nThousand < FLAG_STANDARD_IN_FORMAT )
{ // #,,,,