Fix error in fraction point parsing

This commit is contained in:
Carsten Larsen 2017-01-28 22:02:01 +01:00
parent b173f42b65
commit 7d48450bbf
1 changed files with 3 additions and 3 deletions

View File

@ -207,7 +207,7 @@ const char* PositionalNumeralSystem::GetText(double number)
int fragdigits = digits - intdigits; int fragdigits = digits - intdigits;
if (fragdigits > 0) { if (fragdigits > 0) {
buf->Append('.'); buf->Append(fractionpoint);
// TODO: Fix fraction error (try 1.5439) // TODO: Fix fraction error (try 1.5439)
double fraction = fabs(round((dnumber - round(dnumber)) * pow(base, fragdigits))); double fraction = fabs(round((dnumber - round(dnumber)) * pow(base, fragdigits)));
@ -305,7 +305,7 @@ Number* PositionalNumeralSystem::Parse(const char *text, unsigned int *length, c
double fraction = 0.0; double fraction = 0.0;
double divisor = 1.0; double divisor = 1.0;
if (*text == fractionpoint) { if (*text == fractionpoint && fractionpoint != '\0') {
text++; text++;
pos++; pos++;
@ -357,7 +357,7 @@ DecimalSystem::DecimalSystem() :
{ } { }
DecimalSystem::DecimalSystem(unsigned int digits) : DecimalSystem::DecimalSystem(unsigned int digits) :
PositionalNumeralSystem(10, digits, '.') PositionalNumeralSystem(10, digits, '\0')
{ } { }
DecimalSystem::DecimalSystem( DecimalSystem::DecimalSystem(