Support for Custom Decimal Precision in Strapi 5
## Bug report

### Required System information

- Node.js version: 20
- NPM version: [Your NPM version]
- Strapi version: 5
- Database: PostgreSQL
- Operating system: Windows 11
- Is your project Javascript or Typescript: [Your project language]

### Describe the bug

In Strapi version 5, when trying to set a decimal type field (such as for handling currency or cryptocurrency), the platform only allows up to 2 decimal places. This is problematic because many financial applications require more precision, especially when working with cryptocurrencies or commission-based systems.

Cryptocurrencies, for instance, often require more than 2 decimal places to represent values accurately (e.g., Bitcoin with 8 decimal places). Additionally, in large-scale financial applications where commissions are calculated, the amounts are usually very small, and when there are many transactions, those small commissions accumulate into a reasonable amount of money, making it necessary to store more than 2 decimal places.

Unfortunately, Strapi only supports up to 2 decimal places for the `decimal` type, which prevents us from accurately representing such values, especially in the case of cryptocurrencies or small commission amounts.

### Why `float` is not suitable for monetary or cryptocurrency values

The `float` type in databases is often used for representing numbers that require decimal points, but it has limitations when it comes to precision. This issue arises because `float` uses floating-point arithmetic, which can introduce rounding errors when working with very small or very large numbers. 

For example, when storing cryptocurrency values or handling commissions, the `float` type can round values inappropriately, leading to inaccuracies. This can result in errors when performing calculations over time, which is critical in financial systems.

On the other hand, the `decimal` type is designed to handle numbers with exact precision, making it ideal for financial transactions and cryptocurrencies. The `decimal` type ensures that values are stored exactly as they are entered, which is essential for maintaining the integrity of monetary calculations.

### Steps to reproduce the behavior

1. Create a field in the content type with the type `decimal` in Strapi version 5.
2. Set the field to have more than 2 decimal places (e.g., `decimal(20,8)`).
3. Save the field and observe that it automatically rounds the number to 2 decimal places.

### Expected behavior

I expect Strapi to allow specifying a custom number of decimal places for `decimal` type fields, such as `decimal(20,8)`, to support values like cryptocurrency or precise commission amounts in financial transactions. 

This would allow users to accurately store and work with such values in their applications without rounding or losing precision.

### Additional context

Handling large-scale financial transactions, commissions, or cryptocurrencies requires precise values, and Strapi's current limitations prevent us from storing and working with those values accurately. We request the ability to set a custom number of decimal places for `decimal` fields, or alternatively, a better handling of `float` types that maintains higher precision without introducing rounding errors.
