Преглед на файлове

Add small number word mode - only goes up to septillion

tags/v0.0.7
Fen Dweller преди 5 години
родител
ревизия
599e085c1c
No known key found for this signature in database GPG Key ID: E80B35A6F11C3656
променени са 2 файла, в които са добавени 25 реда и са изтрити 0 реда
  1. +5
    -0
      gorge.js
  2. +20
    -0
      numbers.js

+ 5
- 0
gorge.js Целия файл

@@ -29,6 +29,11 @@ const numberModes = {
words: {
name: "Words",
render: numberText,
next: "smallWords"
},
smallWords: {
name: "Small Words",
render: numberTextSmall,
next: "scientific"
},
scientific: {


+ 20
- 0
numbers.js Целия файл

@@ -2,6 +2,26 @@ function render(val, places = 1, smallPlaces = 0) {
return numberMode.render(val, places, smallPlaces);
}

function numberTextSmall(val, places = 1, smallPlaces = 0) {
if (isNaN(val)) {
throw new RangeError("Invalid number: " + val);
}
if (val < 1000) {
return round(val, smallPlaces);
}

let power = Math.floor(Math.log10(val));

let order = Math.floor(power / 3);

adjusted = round(val / Math.pow(1000, order), places).toFixed(places);

if (order <= 8)
return adjusted + " " + _numberWords[order - 1];
else
return numberTextSmall(val / Math.pow(10, 24), places, smallPlaces) + " septillion"
}

function numberText(val, places = 1, smallPlaces = 0) {
if (isNaN(val)) {
throw new RangeError("Invalid number: " + val);


Loading…
Отказ
Запис