Денежный формат
Все денежные значения в Intotes хранятся и передаются как целые числа в копейках. Это исключает ошибки точности с плавающей запятой в финансовых расчетах.
Основные правила
| Что | Формат | Пример |
|---|---|---|
| Баланс, суммы | Копейки | 10000 = 100.00 RUB |
| Рыночные цены | 0-10000 | 7500 = 75.00% вероятности |
| Количество акций | Копейки | 50000 = 500.00 акций |
| P2P-курсы | Копейки за единицу | 100000 = 1000.00 RUB за USDT |
Формат цен (0-10000)
| Цена | Вероятность | Значение |
|---|---|---|
0 | 0.00% | Невозможно |
2500 | 25.00% | Маловероятно |
5000 | 50.00% | Равные шансы |
7500 | 75.00% | Вероятно |
10000 | 100.00% | Определенно |
YES + NO всегда в сумме дают 10000.
Семантика сумм
| Действие | Сумма представляет | Пример |
|---|---|---|
| Ордер BUY | Бюджет в копейках | 100000 = потратить 1000.00 RUB |
| Ордер SELL | Акции в копейках | 50000 = продать 500.00 акций |
| LMSR (spend) | Бюджет в копейках | |
| LMSR (shares) | Количество акций |
Конвертация акций
shares_cents = (budget_cents * 10000) / price_cents
budget_cents = (shares_cents * price_cents) / 10000
Форматирование для отображения
const displayValue = (cents / 100).toFixed(2); // 10000 → "100.00"
const probability = (price / 100).toFixed(2) + '%'; // 7500 → "75.00%"
display := fmt.Sprintf("%.2f", float64(cents)/100)
Важные замечания
- Никогда не используйте числа с плавающей запятой для финансовых расчетов
- Все API-запросы и ответы используют формат копеек
- Временные метки используют формат RFC3339:
2024-01-15T10:30:00Z