2017-01-27 4 views
0

Ich mache einen Steuerrechner für meine Klasse und ich kann nicht herausfinden, wie man eine ganze Zahl mit einer Dezimalzahl multipliziert. Ich muss das Ganze mit 0,13 multiplizieren. Hier ist mein CodeMultiplizieren von Dezimalzahlen in 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)) + "$") 
} 

Ich würde mich freuen Hilfe schnell, wie es morgen fällig ist. Ich entschuldige mich, wenn die Formatierung hier falsch ist, aber ich versichere Ihnen auf dem tatsächlichen Programm ist es richtig. Danke

+0

ein Beispiel geben, ** Ausgang erwartet ** von zwei Eingangswerten (ganze vs fraktionierte). Also deine Menge = 0,13, aber wie viel ist "hst"? Der Standardwert von 'int' ist Null, also tut Ihr Code gerade '0.13 x 0', was als Ergebnis '0' ergibt. Was ist das Problem? –

+0

Ihr 'hst' ist int, also kann kein 0.13 gespeichert werden. Machen Sie es "Nummer" und stopfen Sie 0,13, sollte es tun. – Vesper

+0

@Vesper vielleicht 'hst' ist Int-Typ, weil es die mysteriöse _whole Nummer_ ist? Andererseits beschränken sie den Menge-Text auf '0-9'. Warum also nicht 'amount = int (amount_txt.text);'? Ich hoffe nur, dass Asker weiß, dass "Nummer" für die Behandlung von Brüchen ist, aber "int" nur ganze Zahlen behandelt (der Dezimalpunkt wird ignoriert). –

Antwort

1

Der Grund ist, dass Ihr HST kein Number ist, sondern ein int. Um eine Dezimalzahl haben Sie es zu machen ändern als 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)) + "$") 
}