diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-03-19 14:21:18 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@digia.com> | 2013-03-20 09:59:24 +0100 |
commit | 107d7eab82e6f4d75fffaaa608a0d86938cf69a3 (patch) | |
tree | ce547f73efe56f9edd43eff5060d2c4f73e9c84d /src | |
parent | 7c16e08936d4b80f4d3917718154b1b2705cf6f6 (diff) |
Fix Number.prototype.toFixed.
ECMA5.1 paragraph 15.7.4.5, item 7:
If x >= 10^21, then
a. Let m = ToString(x).
Change-Id: I36516177aefddd10fec8d3f55b7644d8f7f65f64
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/v4/qv4numberobject.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/v4/qv4numberobject.cpp b/src/v4/qv4numberobject.cpp index 4f42ef3ad1..d95520fe43 100644 --- a/src/v4/qv4numberobject.cpp +++ b/src/v4/qv4numberobject.cpp @@ -200,8 +200,10 @@ Value NumberPrototype::method_toFixed(ExecutionContext *ctx) str = QString::fromLatin1("NaN"); else if (qIsInf(v)) str = QString::fromLatin1(v < 0 ? "-Infinity" : "Infinity"); - else + else if (v < 1.e21) str = QString::number(v, 'f', int (fdigits)); + else + return __qmljs_string_from_number(ctx, v); return Value::fromString(ctx, str); } |