Fix a crash when rounding very small numbers.
This commit is contained in:
Родитель
f12352c6f4
Коммит
7c2062f289
|
@ -525,7 +525,7 @@ var d3_format_types = {
|
|||
f: function(x, p) { return x.toFixed(p); },
|
||||
r: function(x, p) {
|
||||
var n = 1 + Math.floor(1e-15 + Math.log(x) / Math.LN10);
|
||||
return d3.round(x, p - n).toFixed(Math.max(0, p - n));
|
||||
return d3.round(x, p - n).toFixed(Math.max(0, Math.min(20, p - n)));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -67,7 +67,7 @@ var d3_format_types = {
|
|||
f: function(x, p) { return x.toFixed(p); },
|
||||
r: function(x, p) {
|
||||
var n = 1 + Math.floor(1e-15 + Math.log(x) / Math.LN10);
|
||||
return d3.round(x, p - n).toFixed(Math.max(0, p - n));
|
||||
return d3.round(x, p - n).toFixed(Math.max(0, Math.min(20, p - n)));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -105,6 +105,10 @@ suite.addBatch({
|
|||
assert.strictEqual(format(".5r")(123.45), "123.45");
|
||||
assert.strictEqual(format(".6r")(123.45), "123.450");
|
||||
},
|
||||
"can round very small numbers": function(format) {
|
||||
var f = format(".2r");
|
||||
assert.strictEqual(f(1e-22), "0.00000000000000000000");
|
||||
},
|
||||
"can group thousands": function(format) {
|
||||
var f = format(",d");
|
||||
assert.strictEqual(f(0), "0");
|
||||
|
|
Загрузка…
Ссылка в новой задаче