3.0.4 • Published 2 years ago

@rbxts/abbreviate v3.0.4

Weekly downloads
283
License
mpl-2.0
Repository
github
Last release
2 years ago

@rbxts/abbreviate

NPM

Installation:

npm i @rbxts/abbreviate

Example Usage

import Abbreviator from "@rbxts/abbreviate";

const abbreviator = new Abbreviator();
abbreviator.setSetting('suffixTable', ['k', 'm', 'b']);
abbreviator.setSetting('decimalPlaces', 2);

print(abbreviator.stringToNumber('500')) // 500
print(abbreviator.stringToNumber('5k')) // 5000
print(abbreviator.stringToNumber('5m')) // 5000000
print(abbreviator.stringToNumber('1.23456m')) // 1234560

print(abbreviator.numberToString(999)) // 999
print(abbreviator.numberToString(1000)) // 1.00k
print(abbreviator.numberToString(1000000)) // 1.00m
print(abbreviator.numberToString(1234567)) // 1.23m

Settings

The possible settings you can set are the following: | Setting Name | Setting Value Type | Setting Description | Setting Default | Setting Example |---|---|---|---|---| | suffixTable | Array\<string> | Sets the suffix table to be used when using numberToString | here | "k", "m", "b" | | decimalPlaces | number | Sets the amount of decimal places a number may have when using numberToString | 2 | 4 | | stripTrailingZeroes | boolean | Removes any extra zeroes after a decimal place that are dangling after numberToString calls. E.g. "52506.004" => "5.2506k" | false | true

Why make Abbreviator a class?

You may want multiple abbreviators throughout your game with different settings, i.e. one module may want only 2 d.p. while another may want 0 d.p To solve this, abbreviate requires you to construct a new abbreviator. The settings of this abbreviator is independent of other abbreviators.

Changelog

3.0.3

  • Fixed stripTrailingZeroes incorrectly showing as removeDanglingZeroes in README.md

3.0.2

  • Added setting default and setting example for stripTrailingZeroes

3.0.1

  • Fixed README.md example being outdated
  • Added Scyfren to contributors

3.0.0

  • Changed the method to create an abbreviator from createAbbreviator() to abbreviator.new() (new Abbreviator() in TypeScript)
  • Added option stripTrailingZeroes
  • Fixed some bugs regarding settings changes
  • Slight speed improvements

2.7.3

  • Updated README.md to use createAbbreviator()

2.7.2

  • Refactored internal code to use less memory

2.7.1

  • Fixed a case where numbers under 1000 would have their decimal places stripped (e.g. 1.05 would become 1, 0.5 would become 0)
  • Added unit tests
  • Made function calls safer (it now validates the type of the data you pass)

2.7.0

  • Changed the method used in numberToString to be similar to Zombie Strike's for more accurate rounding.

2.6.3

  • Fixed numbers under 1000 not being added to the return result in numbersToSortedString.

2.6.2

  • Removed prints in numbersToSortedString.

2.6.1

  • Updated README.md.

2.6.0

  • Created numbersToSortedString.

2.5.0

  • Fixed a bug with commify function erroring.

2.4.0

  • Added commify(num: number): string to convert a string into a comma separated value.

2.3.4

  • Fixed stringToNumber returning void instead of number.

2.3.3

  • Fixed numbers under 1000 not being decimal placed correctly when numberToString is called.

Credits

Kampfkarren - numberToString method Corecii - Help with numbersToSortedString Scyfren - Help with stripTrailingZeroes

3.0.4

2 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.7.3

3 years ago

2.7.2

3 years ago

2.7.1

3 years ago

2.7.0

3 years ago

2.6.3

3 years ago

2.6.2

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.0

3 years ago

2.4.0

3 years ago

2.3.4

3 years ago

2.3.3

4 years ago

2.3.2

4 years ago

2.3.1

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago