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
toPrecision()
toPrecision(precision)
Parameter
precisionOptional-
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
precisionnicht zwischen1und100(einschließlich) liegt. TypeError-
Wird ausgelöst, wenn diese Methode für ein 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
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.prototype.toprecision> |