Fehler bei der Verwendung der wissenschaftlichen Notation in JavaScript

9

Diese Frage lautet nicht , um nach Entwicklercode-Formatierungen zu suchen. Persönlich bevorzuge ich wissenschaftliche Notation in meinem JS-Code, wenn ich kann, weil ich glaube, dass es lesbarer ist. Für mich ist 6e8 besser lesbar als 600000000 . Davon abgesehen suche ich nur nach möglichen Risiken und Nachteilen, die Zahlen in wissenschaftlicher Notation in JS angeben. Ich sehe es nicht oft in der Wildnis und frage mich, ob es technische Gründe dafür gibt oder ob es einfach wegen der Entwicklertreiber ist.

    
Evan Wieland 22.09.2017, 14:10
quelle

3 Antworten

2

Sie sehen keine wissenschaftliche Notation "oft in freier Wildbahn" , da die einzigen Zahlen, die tatsächlich in JS eingegeben werden, Konstanten sind:

  • Code-zentrische Konstanten (wie Enums und Ebenen) sind in der Regel klein.
  • Physikalisch / mathematische Konstanten (wie π oder e) neigen dazu, sehr spezifisch zu sein.

Keines davon profitiert von wissenschaftlicher Notation zu sehr.

Ich habe Planks Konstante 'in freier Wildbahn' gesehen als:

%Vor%

Der andere Ort, den es oft sinnvoll macht, sind Zeitlimits, zum Beispiel die Anzahl der ms pro Tag als 864e5 . Zum Beispiel:

%Vor%

Ich denke nicht, dass es einen technischen Grund gibt, diese Notation nicht zu verwenden, es ist eher so, dass Entwickler harte Codierungsnummern überhaupt vermeiden.

Ich glaube nicht, dass es irgendwelche Risiken gibt. Sie müssen vielleicht mit Zahlen in Strings vorsichtig sein, aber wenn Sie das tun, dann ist diese Syntax ein viel kleineres Problem als, sagen wir, Nummernlokalisierung (zum Beispiel ein DE Benutzer "20.000,00" eingeben, erwartet 2e4 , aber bekommen 2e6 Dank der Formatierung der invarianten Zahlen, tauscht die Tausendertrennzeichen).

Ich würde hinzufügen, dass JS diese Syntax für kleine Zahlen standardmäßig sowieso ausgeben wird, aber für große Zahlen bis zu einem Punkt (der je nach Browser variiert) vermeidet:

%Vor%
    
Keith 28.09.2017, 14:48
quelle
1

Von O. R. Mapper in diese Frage:

  

Menschliche Benutzer sind nicht die einzigen, die Zahlen lesen wollen. Es scheint   D3 löst eine Ausnahme aus, wenn eine Übersetzung gefunden wird   Transformation, die Koordinaten in wissenschaftlicher Notation enthält

Wenn Sie die Zeichenfolgendarstellung ändern möchten, anstatt nur wie das Literal in Ihrer Quelle aussieht, müssen Sie mit serialisierten / gespeicherten Daten vorsichtig sein.

Aus Erfahrung können Sie oft auch große Zahlen haben, deren Bedeutung in ihren einzelnen Ziffern wie eine ID oder Telefonnummer liegt. In diesem Fall beeinträchtigt die Reduzierung dieser Zahlen auf die wissenschaftliche Notation die Lesbarkeit.

    
code11 22.09.2017 14:26
quelle
1
  

E-notation gibt eine Zahl an, die mit 10 multipliziert werden sollte   zu einer gegebenen Macht.

ist keine wissenschaftliche Exponentialnotation. Eine Falle ist, dass e "mal zehn auf die Macht von" In JavaScript ist nicht The number e die Basis des natürlichen Logarithmus dargestellt im Browser als Math.E . Für Personen, die mit der mathematischen Konstante e vertraut sind, hat JavaScript e eine ganz andere Bedeutung Bedeutung. 6 * Math.pow(10, 8) gibt das erwartete Ergebnis zurück und beinhaltet nicht die Verwendung des JavaScript-Artefakts e .

  

Obwohl das E für den Exponenten steht, wird normalerweise auf die Notation verwiesen   als (wissenschaftliche) E-Notation und nicht als (wissenschaftliche) Exponentialfunktion   Notation. Die Verwendung der E-Notation erleichtert die Dateneingabe und Lesbarkeit   in textueller Kommunikation, da es Tastenanschläge minimiert, vermeidet reduziert   Schriftgrößen und bietet eine einfachere und übersichtlichere Anzeige, aber es ist   nicht ermutigt in Publikationen. Richtlinien für die Einreichung von Autoren:   HPS 2010 Midyear   Verfahren

    
guest271314 01.10.2017 22:28
quelle