padEnd()
erscheint im Hinblick auf die präsentierte Aufgabe als clevere Lösung. Da wir aber ebodys tatsächliche Aufgabe nur bruchstückhaft kennen sollte die folgende Warnung nicht vergessen werden:
'1234'.padEnd( 10, '0' )
liefert1234000000
.'1234.0'.padEnd( 10, '0' )
liefert1234.00000
.Der Unterschied
erscheint hierist elefant-signifikant.Möglicherweise will @ebody ja etwas wie
toFixed()
:* Number.parseFloat( '1234' ).toFixed( 5 ) * Number.parseFloat( '1234.0' ).toFixed( 5 ) Das liefert identische '1234.00000'.
Und wenn ich schon dabei bin:
Number.parseFloat('1.2340').toFixed( 8 ).substr( 0, 10 )
→ 1.23400000
Number.parseFloat('1234.0').toFixed( 8 ).substr( 0, 10 )
→ 1234.00000
Number.parseFloat('0.1234').toFixed( 8 ).substr( 0, 10 )
→ 0.12340000
Vielleicht ist ja die Aufgabe, immer die gleiche Anzahl an Stellen zu präsentieren? Aber auch hier sei gewarnt: bei Zahlen >= 10000000000 versagt das so grandios wie Murphy vor der Einstellungskomission in Trainspotting. Bei negativen Zahlen ebenso - nur halt „etwas anders“.
Da wären also Fallunterscheidungen zu treffen.
Number.parseFloat('-1').toFixed( 8 ).substr( 0,10 )
→ -1.0000000 // Anzahl Stellen stimmt nicht.
Number.parseFloat('12345678901').toFixed( 8 ).substr( 0, 10 )
→ 1234567890 // Ganz böse: Zahlenwert verändert