В моем торговом приложении я должен использовать десятичную величину для представления цен. Мне нужно минимально возможное задержка, поэтому единственным приемлемым решением было бы использовать int64 для представления десятичного числа. Я могу настроить на глобальном уровне, что мне не нужно, например, более 5 цифр после запятой, то вездеC++ decimal реализация на основе целых чисел
0.0000001 is not supported
0.000001 is not supported
1 should be used instead of 0.00001
10 should be used instead of 0.0001
100 should be used instead of 0.001
1000 should be used instead of 0.01
10000 should be used instead of 0.1
100000 should be used instead of 1
and so on
Существуют ли какие-либо библиотеки, которые помогают делать такого рода работы? Я не совсем понимаю, нужна ли мне библиотека, возможно, мне следует просто работать с int64
и все? Любые подсказки и предложения приветствуются.
обн теперь я понял, что devide
и multiply
не obvios вообще. Поэтому я ищу некоторую библиотеку только заголовка, которая добавляет некоторые макросы функции для деления/умножения фиксированной точки, хранящейся в INT64.
Есть ли причина, по которой 'decimal' не является опцией? Не могли бы вы создать пользовательский класс, который использует внутренне int64, например 'PrecisionDec (int int_part, int decimal_part)', который ограничивает 'decimal_part' значением 0 <= d <1E + 06? –
@CodeswithHammer Мне следует избегать разных «экспонентов», потому что математика становится более сложной. – javapowered
Ознакомьтесь с классом 'FixedPrecision' здесь: https://github.com/chadkler/FinancialTypes – Chad