On 9/3/2014 6:11 PM, Rogers Nate wrote: > On 09/03/2014 11:53 AM, Calogero Mauceri wrote: >> Hi all, >> >> I'm doing something really simple, but which is driving me crazy. >> >> I'm reading a string from a file and converting it to a long long >> integer, but the conversion fails. >> The code I'm running is as simple as this >> >> // this string is read from a file >> QString str("18446744073709551615"); >> bool ok; >> qint64 value = str.toLongLong(&ok); // Error >> >> the number should be representable in 64 bit. Am I doing something wrong? >> >> More hints, if I convert the number to unsigned long long integer then >> it works >> >> bool ok; >> quint64 value = str.toULongLong(&ok); // OK >> >> Similarly initializing the long long from the literal value is failing too >> >> Q_INT64_C(18446744073709551615) ; // Error, returns -1 >> Q_UINT64_C(18446744073709551615); // OK >> >> Thanks for your help! >> Calogero >> > 18446744073709551615 is too big to fit into a long long. It is actually the > biggest number you can have a unsigned long long. A long long can't fit the > same size number because it has to use one bit to hold the sign. The maximum > number you can fit in a long long is 9223372036854775807. >
Nate, thanks for your reply, now I see the problem. Calogero -- Calogero Mauceri Software Engineer Applied Coherent Technology Corporation (ACT) www.actgate.com _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest