Index: sdk/lib/core/duration.dart |
diff --git a/sdk/lib/core/duration.dart b/sdk/lib/core/duration.dart |
index a0cf1b601b64238d20732a84d79b2e1aa9d1f188..a19c6518969be539da409c5f3be837db04955f49 100644 |
--- a/sdk/lib/core/duration.dart |
+++ b/sdk/lib/core/duration.dart |
@@ -82,9 +82,12 @@ class Duration implements Comparable<Duration> { |
/** |
* Multiplies this [Duration] by the given [factor] and returns the result |
* as a new [Duration]. |
+ * |
+ * Note that when [factor] is a double, and the duration is greater than |
+ * 53 bits, precision is lost because of double-precision arithmetic. |
*/ |
- Duration operator *(int factor) { |
- return new Duration(microseconds: _duration * factor); |
+ Duration operator *(num factor) { |
+ return new Duration(microseconds: (_duration * factor).round()); |
} |
/** |