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.