Get the name of a number, even if it's stupidly big.
Du kan inte välja fler än 25 ämnen
Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Den här utvecklingskatalogen är arkiverad. Du kan se filer och klona katalogen, men inte öppna ärenden eller genomföra push- eller pull-förfrågningar.
|
- import { Digit, GetKiloName } from '../../common'
- import NAMES from './names'
- import getKiloCombiningPrefix from './base/kilo/combiningPrefix'
-
- const getLongKiloName: GetKiloName = (thousandPower) => {
- if (thousandPower === 0n) {
- return ''
- }
- if (thousandPower === 1n) {
- return NAMES.thousand
- }
- const kilo = thousandPower
- const kiloHundreds = kilo / 2n / 100n
- const kiloTens = (Number(kilo / 2n / 10n) % 10) as Digit
- const kiloOnes = (Number(kilo / 2n) % 10) as Digit
- const baseKiloName = getKiloCombiningPrefix(kiloHundreds, kiloTens, kiloOnes) + NAMES.kiloEvenSuffix
-
- return thousandPower % 2n === 0n ? baseKiloName : NAMES.thousand + ' ' + baseKiloName
- }
-
- export default getLongKiloName
|