Здравствуйте, anatoly1, Вы писали:
A>Для того decimal и использую, чтобы проблему решить. decimal32 нормально же работает.
decimal32 поддерживает 7 десятичных цифр, он округлил входящий double и все получилось красиво, хвост пропал. вики:
https://en.wikipedia.org/wiki/Decimal32_floating-point_format
cpp_dec_float_50 поддерживает 50 десятичных цифр, он достаточно точно переварил кучу знаков после запятой. в итоге получилось не 0.1
отсюда и разное поведение
как вариант, я бы предложил найти метод округления в cpp_dec_float_50 под нужную точность и задействовать его. с этими классами не работал, так что не подскажу как это сделать и возможно ли это в принципе