text is not a number it is a String. I know you know this but Flash doesn't know this so you have to convert. Try setting the outcome to a string like this:
String(your var)//whatever number you have as a variable goes here.
I have almost got this calculator working.
I just can't get the slider string to be converted to a number!
var amount:Number = Number(sliderLabel.text);
Is returning NaN when it is traced. why?
package
{
import fl.controls.ComboBox;
import flash.display.MovieClip;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import fl.events.SliderEvent;
import flash.events.MouseEvent;
public class LoanCalculator extends MovieClip
{
private var tf:TextField;
public function LoanCalculator() {
setupComboBox();
setupTextField();
theslider();
setupTerm();
theButton();
hiddenResults.summaryTxt.visible=false;
}
private function setupTextField():void {
tf = new TextField();
tf.x = 10;
tf.y = 210;
tf.autoSize = TextFieldAutoSize.LEFT;
addChild(tf);
}
private function setupComboBox():void {
cb_loan.setSize(200, 22);
cb_loan.prompt = "Select your Loan";
cb_loan.addItem( { label: "New Car", data:8.99 } );
cb_loan.addItem( { label: "Used Car", data:10.49 } );
cb_loan.addItem( { label: "Home Loan", data:9.65 } );
cb_loan.addEventListener(Event.CHANGE, cardSelected);
}
private function cardSelected(e:Event):void {
tf.text = "Interest Rate: "
tf.appendText(cb_loan.selectedItem.data + "%");
}
private function setupTerm():void {
cb_term.setSize(130, 22);
cb_term.prompt = "Select your Term";
cb_term.addItem( { label: "1 Year", data:1 } );
cb_term.addItem( { label: "2 Years", data:2 } );
cb_term.addItem( { label: "3 Years", data:3 } );
}
public function theslider() {
configureListeners();
}
private function configureListeners():void {
slider.addEventListener(SliderEvent.THUMB_DRAG, sliderDrag);
}
public function sliderDrag(e:SliderEvent):void {
trace("Slider dragging: " + e.target.value);
sliderLabel.text = "$" + e.target.value;
}
public function theButton() {
getvalue();
}
private function getvalue():void {
calculate_btn.addEventListener(MouseEvent.CLICK, pressButton);
}
public function pressButton(event:MouseEvent):void {
/*
var myCalc:Number = Number(sliderLabel.text) + Number(cb_term.selectedItem.data) + Number(cb_loan.selectedItem.data);
trace(myCalc);
var slide:Number = Number(sliderLabel);
var loan:Number = Number(cb_loan.selectedItem.data);
summaryTxt.text = (term * interest * amount);
var myCalc:Number = Number(slider);
trace(sliderLabel);
*/
var amount:Number = Number(sliderLabel.text);
var term:Number = Number(cb_term.selectedItem.data);
var interest:Number = Number(cb_loan.selectedItem.data);
hiddenResults.summaryTxt.visible=true;
trace(amount);
trace(Math.round(interest * term));
hiddenResults.summaryTxt.text = (term * interest);
}
}
}
text is not a number it is a String. I know you know this but Flash doesn't know this so you have to convert. Try setting the outcome to a string like this:
String(your var)//whatever number you have as a variable goes here.
Bookmarks