Сообщение Re[3]: [c++][decimal] boost.multiprecision не работает от 19.10.2015 13:33
Изменено 19.10.2015 14:26 uzhas
Здравствуйте, 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 под нужную точность и задействовать его. с этими классами не работал, так что не подскажу как это сделать и возможно ли это в принципе
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 под нужную точность и задействовать его. с этими классами не работал, так что не подскажу как это сделать и возможно ли это в принципе
Re[3]: [c++][decimal] boost.multiprecision не работает
Здравствуйте, 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 под нужную точность и задействовать его. с этими классами не работал, так что не подскажу как это сделать и возможно ли это в принципе
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 под нужную точность и задействовать его. с этими классами не работал, так что не подскажу как это сделать и возможно ли это в принципе