У меня есть приложение rails, обрабатывающее некоторые данные, и некоторые из этих данных включают числа с десятичными знаками, такими как 1.9943
, и деление между этими числами и другими целыми числами. Я хотел знать, что лучший способ сохранить это.Поплавки, десятичные числа или целые числа
Я думал о хранении чисел, которые сохраняли бы целые числа в виде целых чисел и чисел, которые могли бы стать десятичными знаками в виде десятичных знаков. Хотя это было в странном формате, как
#<BigDecimal:7fda470aa9f0,'0.197757E1',18(18)>
, кажется, выполнить правильную арифметику, когда я разделить два десятичных чисел или десятичную с целым числом. Когда я пытаюсь разделить целые числа с целыми числами, он работает неправильно. Я думал, что рельсы автоматически преобразуют результат в правильное десятичное число, но, похоже, сохраняют его как целое и разделяют остатки. Есть ли что-нибудь, что я могу сделать по этому поводу?
И какой был бы лучший способ хранить этот тип информации? Должен ли я хранить все в виде десятичных знаков или, может быть, плавать?
К сожалению, я сделал ошибку. Целые числа/Десятичные работы отлично – user2158382
Это работает, за исключением того, что я использовал BigDecimal вместо float. Не могли бы вы рассказать мне, почему я должен использовать float? – user2158382
@ user2158382 BigDecimal используется, когда вам требуется произвольно точное представление. Float используется, когда достаточно представления с двойной точностью. – dbyrne