diff options
author | Frederik Gladhorn <[email protected]> | 2015-03-03 18:21:56 +0100 |
---|---|---|
committer | Frederik Gladhorn <[email protected]> | 2015-03-03 18:21:56 +0100 |
commit | d8c559c4e2fc0b8051be78bd64b8a8fe80b3b78f (patch) | |
tree | 8af3738bb802fb064cb81352818a172b7c24e21a /src/qml/jsruntime/qv4numberobject.cpp | |
parent | 4d8b9373c62b9b58c54548f41f1e9d84e9522c6e (diff) | |
parent | c3effc6cd3a66b6c02048d8ad85c7ed3bb3c1463 (diff) |
Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
src/qml/jsruntime/qv4numberobject.cpp
Change-Id: I4e66a03ef4d99cec192c9da30c028fd8c1f4ac0d
Diffstat (limited to 'src/qml/jsruntime/qv4numberobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4numberobject.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4numberobject.cpp b/src/qml/jsruntime/qv4numberobject.cpp index d8c9d89369..89ff110b20 100644 --- a/src/qml/jsruntime/qv4numberobject.cpp +++ b/src/qml/jsruntime/qv4numberobject.cpp @@ -204,9 +204,15 @@ ReturnedValue NumberPrototype::method_toFixed(CallContext *ctx) str = QString::fromLatin1("NaN"); else if (qIsInf(v)) str = QString::fromLatin1(v < 0 ? "-Infinity" : "Infinity"); - else if (v < 1.e21) - str = QString::number(v, 'f', int (fdigits)); - else + else if (v < 1.e21) { + char buf[100]; + double_conversion::StringBuilder builder(buf, sizeof(buf)); + double_conversion::DoubleToStringConverter::EcmaScriptConverter().ToFixed(v, fdigits, &builder); + str = QString::fromLatin1(builder.Finalize()); + // At some point, the 3rd party double-conversion code should be moved to qtcore. + // When that's done, we can use: +// str = QString::number(v, 'f', int (fdigits)); + } else return RuntimeHelpers::stringFromNumber(ctx->engine(), v)->asReturnedValue(); return scope.engine->newString(str)->asReturnedValue(); } |