2015-11-20 3 views
-1

У меня есть два целых значения dicount_percentage и price. Когда я запускаю следующую команду, она всегда возвращает 0, а не значение дисконта и т.д.Вычисление процента возвращает целое число

price*(discount_percentage/100) 

Как я могу это исправить?

+0

Как вы можете исправить что? Что такое «дисконтная стоимость и т. Д.»? – sawa

+1

s/dicount_percentage/discount_percentage/ – davejagoda

+0

Я не знаю много о рубине, но я знаю на большинстве других языков, значения int усекаются. Ergo, '15/100 = 0.15', а значение' int' '0.15' усекается до' 0'. Интс, как правило, не любят разделение, вы хотите иметь тип с плавающей точкой или двойной или какой-либо другой десятичный номер. – Stonz2

ответ

3

В ролях один из price или discount_percentage плавать:

price*(discount_percentage.to_f/100) 
+0

сформулировано отлично! –

+0

Через 9 минут я буду :) –

Смежные вопросы