Number.prototype.toPrecision()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die Methode toPrecision() von Number-Werten gibt eine Zeichenkette zurück, die 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
toPrecision()
toPrecision(precision)
Parameter
precisionOptional-
Ein ganzzahliger Wert, der die Anzahl signifikanter Stellen angibt.
Rückgabewert
Eine Zeichenkette, die die gegebene Zahl unter Verwendung der angegebenen Anzahl signifikanter Stellen darstellt. Wissenschaftliche Notation wird verwendet, wenn der Exponent größer oder gleich precision oder kleiner als -6 ist. Hat das gleiche Verhalten wie Number.prototype.toString(), wenn das precision-Argument weggelassen wird.
Ausnahmen
RangeError-
Wird ausgelöst, wenn
precisionnicht zwischen1und100(einschließlich) liegt. TypeError-
Wird ausgelöst, wenn diese Methode auf einem Objekt aufgerufen wird, das kein
Numberist.
Beispiele
>Verwendung von toPrecision
// 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
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.prototype.toprecision> |
Browser-Kompatibilität
Loading…