src/corelib/io/qtextstream.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
   438     :
   438     :
   439 #ifndef QT_NO_TEXTCODEC
   439 #ifndef QT_NO_TEXTCODEC
   440     readConverterSavedState(0),
   440     readConverterSavedState(0),
   441 #endif
   441 #endif
   442     readConverterSavedStateOffset(0),
   442     readConverterSavedStateOffset(0),
   443     locale(QLocale::C)
   443     locale(QLocale::c())
   444 {
   444 {
   445     this->q_ptr = q_ptr;
   445     this->q_ptr = q_ptr;
   446     reset();
   446     reset();
   447 }
   447 }
   448 
   448 
  1804         QChar ch;
  1804         QChar ch;
  1805         while (getChar(&ch)) {
  1805         while (getChar(&ch)) {
  1806             if (ch.isDigit()) {
  1806             if (ch.isDigit()) {
  1807                 val *= 10;
  1807                 val *= 10;
  1808                 val += ch.digitValue();
  1808                 val += ch.digitValue();
  1809             } else if (locale.language() != QLocale::C
  1809             } else if (locale != QLocale::c() && ch == locale.groupSeparator()) {
  1810                        && ch == locale.groupSeparator()) {
       
  1811                 continue;
  1810                 continue;
  1812             } else {
  1811             } else {
  1813                 ungetChar(ch);
  1812                 ungetChar(ch);
  1814                 break;
  1813                 break;
  1815             }
  1814             }
  1956             else if (lc == locale.exponential().toLower())
  1955             else if (lc == locale.exponential().toLower())
  1957                 input = InputExp;
  1956                 input = InputExp;
  1958             else if (lc == locale.negativeSign().toLower()
  1957             else if (lc == locale.negativeSign().toLower()
  1959                      || lc == locale.positiveSign().toLower())
  1958                      || lc == locale.positiveSign().toLower())
  1960                 input = InputSign;
  1959                 input = InputSign;
  1961             else if (locale.language() != QLocale::C // backward-compatibility
  1960             else if (locale != QLocale::c() // backward-compatibility
  1962                      && lc == locale.groupSeparator().toLower())
  1961                      && lc == locale.groupSeparator().toLower())
  1963                 input = InputDigit; // well, it isn't a digit, but no one cares.
  1962                 input = InputDigit; // well, it isn't a digit, but no one cares.
  1964             else
  1963             else
  1965                 input = None;
  1964                 input = None;
  1966         }
  1965         }
  2281     if (numberFlags & QTextStream::UppercaseDigits)
  2280     if (numberFlags & QTextStream::UppercaseDigits)
  2282         flags |= QLocalePrivate::CapitalEorX;
  2281         flags |= QLocalePrivate::CapitalEorX;
  2283 
  2282 
  2284     // add thousands group separators. For backward compatibility we
  2283     // add thousands group separators. For backward compatibility we
  2285     // don't add a group separator for C locale.
  2284     // don't add a group separator for C locale.
  2286     if (locale.language() != QLocale::C)
  2285     if (locale != QLocale::c())
  2287         flags |= QLocalePrivate::ThousandsGroup;
  2286         flags |= QLocalePrivate::ThousandsGroup;
  2288 
  2287 
  2289     const QLocalePrivate *dd = locale.d();
  2288     const QLocalePrivate *dd = locale.d();
  2290     int base = integerBase ? integerBase : 10;
  2289     int base = integerBase ? integerBase : 10;
  2291     if (negative && base == 10) {
  2290     if (negative && base == 10) {