2017-01-27 10 views
0

Я делаю калькулятор налога для своего класса, и я не могу понять, как умножить целое число на десятичный. Я должен умножить целое на 0.13. Вот мой кодУмножение десятичных знаков в Actionscript 3

var amount:Number; 
var hst:int; 

amount_txt.restrict = "0-9"; 



calculate_btn.addEventListener(MouseEvent.CLICK, calculate); 

function calculate(event:MouseEvent):void 
{ 
    amount = Number(amount_txt.text); 

total_txt.text = "You have spent a total of " + String(Math.round((amount * hst)) + "$") 
} 

Я был бы признателен за помощь, как это должно быть завтра. Приносим извинения, если форматирование здесь некорректно, но я заверяю вас в реальной программе, что это правильно. Спасибо

+0

Приведите пример ** ожидаемого выхода ** из двух входных значений (целых против фракционного). Итак, ваша 'сумма = 0,13', но сколько стоит' hst'? Значение по умолчанию 'int' равно нулю, поэтому прямо сейчас ваш код делает« 0.13 x 0 », что дает правильный результат« 0 ». В чем проблема? –

+0

Ваш 'hst' является int, поэтому он не может хранить 0,13. Сделайте это «Number» и все, что должно быть в нем 0.13. – Vesper

+0

@Vesper, может быть, 'hst' - тип int, потому что это таинственное _whole number_? Опять же, они ограничивают текст суммы '0-9', поэтому почему бы не использовать' amount = int (amount_txt.text); '? Я просто надеюсь, что Asker знает, что 'number' предназначен для обработки фракций, но' int' обрабатывает только целые числа (десятичная точка игнорируется). –

ответ

1

Причина в том, что ваш HST не является Number, а int. Для того, чтобы сделать это десятичное число, вы должны изменить его как Number

var amount:Number; 
var hst:Number; 

amount_txt.restrict = "0-9"; 



calculate_btn.addEventListener(MouseEvent.CLICK, calculate); 

function calculate(event:MouseEvent):void 
{ 
    amount = Number(amount_txt.text); 

total_txt.text = "You have spent a total of " + String(Math.round((amount *hst)) + "$") 
}