Get the name of a number, even if it's stupidly big.
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

22 lines
714 B

  1. import { GetKiloName } from '../../NumberSystem'
  2. import NAMES from './names.json'
  3. import getKiloCombiningPrefix from './base/kilo/combiningPrefix'
  4. const getLongKiloName: GetKiloName = (thousandPower) => {
  5. if (thousandPower === 0) {
  6. return ''
  7. }
  8. if (thousandPower === 1) {
  9. return NAMES.thousand
  10. }
  11. const kilo = thousandPower
  12. const kiloHundreds = Math.floor(kilo / 2 / 100)
  13. const kiloTens = Math.floor((kilo / 2 / 10) % 10)
  14. const kiloOnes = Math.floor((kilo / 2) % 10)
  15. const baseKiloName = getKiloCombiningPrefix(kiloHundreds, kiloTens, kiloOnes) + NAMES.kiloEvenSuffix
  16. return thousandPower % 2 === 0 ? baseKiloName : NAMES.thousand + ' ' + baseKiloName
  17. }
  18. export default getLongKiloName