Variable Präzision in d3.format

Ich bin mit d3.format("s") mit d3.svg.Achse.tickFormat hübsch format der hilfsstrichbeschriftungen mit SI-Einheit (aus dem Internationalen System der Einheiten). Es funktioniert wunderbar für den größten Teil, außer für gewisse Werte, die in einen Rundungsfehler und bringen Sie eine Tonne von Dezimalstellen (1400, zum Beispiel als 1400 * 0.001 = 1.4000000000000001).

Dies zu umgehen, kann ich angeben, a Präzision, wie d3.format(".2s"), aber diese Kräfte 2 signifikanten stellen in Fällen, in denen 1 wäre besser. Zum Beispiel, wenn ich Zecken [5000, 10000, 15000] ich würde jetzt sehen, [5.0 k, 10k, 15k]. Ursprünglich, wenn ich es nicht angeben Präzision auf alles, was ich habe [5k, 10k, 15k].

Frage ich mich, ob es möglich ist, geben Sie eine maximale Präzision, so dass es nur angewendet werden, wenn die Anzahl der signifikanten Ziffern über die Anzahl angegeben? So 5000 wäre 5k und nicht 5.0 k.

Schreibe einen Kommentar