Numerojen pyöristäminen

TypeScript:
Numerojen pyöristäminen

Kuinka:

TypeScriptissä pyöristäminen voidaan tehdä käyttäen useita menetelmiä. Tässä pikakatsaus:

// Math.round pyöristää lähimpään kokonaislukuun
console.log(Math.round(1.5)); // Tuloste: 2

// Math.ceil pyöristää ylöspäin lähimpään kokonaislukuun
console.log(Math.ceil(1.1)); // Tuloste: 2

// Math.floor pyöristää alaspäin lähimpään kokonaislukuun
console.log(Math.floor(1.8)); // Tuloste: 1

// toFixed pyöristää kiinteään desimaalilukumäärään
let num = 1.23456;
console.log(num.toFixed(2)); // Tuloste: "1.23"
// Huomio: toFixed palauttaa merkkijonon! Käytä parseFloatia muuntaaksesi takaisin tarvittaessa.
console.log(parseFloat(num.toFixed(2))); // Tuloste: 1.23

Syväsukellus

Aikoinaan pyöristäminen oli välttämätöntä rajallisen tilan ja tarkkuusongelmien vuoksi varhaisissa tietokoneissa. Nykyään, liukulukuaritmetiikka voi johtaa omituisiin tuloksiin johtuen siitä, miten numerot tallennetaan binäärimuodossa. Pyöristämisen vaihtoehtoihin kuuluvat floor, ceil ja trunc (desimaalien katkaiseminen ilman pyöristämistä).

Sisäiset seikat ovat merkittäviä: Math.round noudattaa “pyöristä puoli ylös” -periaatetta (tunnetaan myös “kaupallisena pyöristämisenä”), kun taas Math.floor ja Math.ceil ovat suoraviivaisia. toFixed saattaa aiheuttaa odottamattomia tuloksia, koska se palauttaa merkkijonon, ja se pyöristää käyttäen “pyöristä puoli parilliseen” -periaatetta (tunnetaan myös “pankkiirin pyöristämisenä”), erityisen hyödyllinen vähentämään vinoumaa pyöristettäessä samoja numeroita useita kertoja.

Katso Myös