Skip to main content

No project description provided

Project description

Percents

Official public repository

Calculating percentages, subtracting a discount, adding a markup is a very common task. The “Percents” library simplifies the work with percentages. To use it, all you need to do is import the Percent type

from percents import Percent

Next, the idea is simple. For example, we have a sum of $1000, from which we need to subtract 38%.

1000 - Percent(38)
>>> 620

In the same way we can add

1000 + Percent(38)
>>> 1380

To take 38% from this amount, all you have to do is multiply the following

1000 * Percent(38)
>>> 380

The type of data returned always matches the type of the original number

result = 1000.0 + Percent(38)
>>> 1380
type(result)
>>> float
result = Decimal(1000) + Percent(38)
>>> 1380
type(result)
>>> Decimal

Percentages can be compared to each other

percent1 = Percent(10)
percent2 = Percent(20)
assert percent2 != percent1
assert percent2 > percent1
assert percent1 < percent2

percent1 = Percent(10)
percent2 = Percent(10)
assert percent2 == percent1
assert percent2 >= percent1
assert percent1 <= percent2

and with other numbers. In this case, the comparison is in terms of percentage points.

percent = Percent(10)
assert percent == 10
assert percent != 11
assert percent > 9
assert percent < 11
assert percent >= 10.0
assert percent <= 10.0

Attributes

The Percent type has two attributes

  • Percent.value -- value in percentage points
  • Percent.multiplier -- multiplier
percent = Percent(10)
percent.value
>>> 10
percent.multiplier
>>> 0.1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

percents-1.1.0.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

percents-1.1.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file percents-1.1.0.tar.gz.

File metadata

  • Download URL: percents-1.1.0.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for percents-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9b3f316d2b100c5e7b0b4167d73e3999159b065712f2df3880be172fc2063154
MD5 fbdfc406bdd0b6c54eb7295c672cc9b6
BLAKE2b-256 57ae93bf1ffd088e8759b28eb7244095a05658f4413ab6a11a45e8d07c172732

See more details on using hashes here.

File details

Details for the file percents-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: percents-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for percents-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c804b63a347dd823fd5b8b56df1803aa3e8410fd66916de4704faea98c238d67
MD5 25d81d6569264022ee53ea7cc9327756
BLAKE2b-256 ff57afeee71e6590b4f65c99e4153c1a156a946443936d7939c3c942dd3c7d6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page