Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Number.prototype.toPrecision()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die Methode toPrecision() von Number-Werten gibt einen String zurück, der diese Zahl mit der angegebenen Anzahl signifikanter Stellen darstellt.

Probieren Sie es aus

function precise(x) {
  return x.toPrecision(4);
}

console.log(precise(123.456));
// Expected output: "123.5"

console.log(precise(0.004));
// Expected output: "0.004000"

console.log(precise(1.23e5));
// Expected output: "1.230e+5"

Syntax

js
toPrecision()
toPrecision(precision)

Parameter

precision Optional

Eine Ganzzahl, die die Anzahl signifikanter Stellen angibt.

Rückgabewert

Ein String, der die gegebene Zahl mit der angegebenen Anzahl signifikanter Stellen darstellt. Die wissenschaftliche Schreibweise wird verwendet, wenn der Exponent größer oder gleich precision oder kleiner als -6 ist. Wird das Argument precision weggelassen, verhält sich die Methode wie Number.prototype.toString().

Ausnahmen

RangeError

Wird ausgelöst, wenn precision nicht zwischen 1 und 100 (einschließlich) liegt.

TypeError

Wird ausgelöst, wenn diese Methode für ein Objekt aufgerufen wird, das kein Number ist.

Beispiele

Verwendung von toPrecision

js
// This number has exponent 0, so it will never use exponential notation
let num = 5.123456;

console.log(num.toPrecision()); // '5.123456'
console.log(num.toPrecision(5)); // '5.1235'
console.log(num.toPrecision(2)); // '5.1'
console.log(num.toPrecision(1)); // '5'

// This number has exponent -4, so it will never use exponential notation
num = 0.000123;

console.log(num.toPrecision()); // '0.000123'
console.log(num.toPrecision(5)); // '0.00012300'
console.log(num.toPrecision(2)); // '0.00012'
console.log(num.toPrecision(1)); // '0.0001'

// This number has exponent 3, so it will use exponential notation if precision is less than 4
num = 1234.5;
console.log(num.toPrecision(1)); // '1e+3'
console.log(num.toPrecision(2)); // '1.2e+3'
console.log(num.toPrecision(6)); // '1234.50'

// This number has exponent -7, so it will always use exponential notation
num = 0.00000012345;
console.log(num.toPrecision(1)); // '1e-7'
console.log(num.toPrecision(10)); // '1.234500000e-7'

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-number.prototype.toprecision

Browser-Kompatibilität

Siehe auch