Turn numeric text into values that can be calculated.

parse-numbers `Number.parseInt` reads an integer part, and `Number.parseFloat` keeps the decimal part. Parsed numbers can feed ordinary arithmetic.

Parsing Numbers

text
parse_numbers.js
Replay: real traced execution (multi-file project)
const text = "12.5";
const whole = Number.parseInt(text, 10);
const decimal = Number.parseFloat(text);
const doubled = decimal * 2;

console.log("text=" + text);
console.log("whole=" + whole);
console.log("doubled=" + doubled);
const text = "7.25";
const whole = Number.parseInt(text, 10);
const decimal = Number.parseFloat(text);
const doubled = decimal * 2;

console.log("text=" + text);
console.log("whole=" + whole);
console.log("doubled=" + doubled);
const text = "20";
const whole = Number.parseInt(text, 10);
const decimal = Number.parseFloat(text);
const doubled = decimal * 2;

console.log("text=" + text);
console.log("whole=" + whole);
console.log("doubled=" + doubled);
  1. text ← 12.5, whole ← 12, decimal ← 12.5, doubled ← 25

    1const text→ 12.5 = "12.5"; //@text="7.25", "20"2const whole→ 12 = Number.parseInt(text12.5, 10);3const decimal→ 12.5 = Number.parseFloat(text12.5);4const doubled→ 25 = decimal→ 12.5 * 2;56console.log("text=" + text12.5);7console.log("whole=" + whole12);8console.log("doubled=" + doubled25);
    outputtext=12.5
    whole=12
    doubled=25
  1. text ← 7.25, whole ← 7, decimal ← 7.25, doubled ← 14.5

    1const text→ 7.25 = "7.25";2const whole→ 7 = Number.parseInt(text7.25, 10);3const decimal→ 7.25 = Number.parseFloat(text7.25);4const doubled→ 14.5 = decimal→ 7.25 * 2;56console.log("text=" + text7.25);7console.log("whole=" + whole7);8console.log("doubled=" + doubled14.5);
    outputtext=7.25
    whole=7
    doubled=14.5
  1. text ← 20, whole ← 20, decimal ← 20, doubled ← 40

    1const text→ 20 = "20";2const whole→ 20 = Number.parseInt(text20, 10);3const decimal→ 20 = Number.parseFloat(text20);4const doubled→ 40 = decimal→ 20 * 2;56console.log("text=" + text20);7console.log("whole=" + whole20);8console.log("doubled=" + doubled40);
    outputtext=20
    whole=20
    doubled=40