aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-03-19 14:21:18 +0100
committerLars Knoll <lars.knoll@digia.com>2013-03-20 09:59:24 +0100
commit107d7eab82e6f4d75fffaaa608a0d86938cf69a3 (patch)
treece547f73efe56f9edd43eff5060d2c4f73e9c84d /src
parent7c16e08936d4b80f4d3917718154b1b2705cf6f6 (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.cpp4
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);
}