Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 6 of 6
  1. #1
    Regular Coder
    Join Date
    Feb 2009
    Location
    Worcester
    Posts
    172
    Thanks
    13
    Thanked 6 Times in 6 Posts

    Setting Number to 2 decimal places?

    Hi all,

    I'm trying to get an answer to 2 decimal places, i've got a number value that is returning too many decimals.

    Here's the code:

    Code:
    private function getMath(event:Event):void
    	{
    		var myNumber:Number = new Number(input.text);
    				
    		var answer:Number = ((myNumber  /100) * 15) + (myNumber);
    		answer.toFixed(2);
    		var text:String = answer.toString();
    		answerLabel.text = text;
    	}
    I'm using toFixed(2) but it's not working, does anyone know where this is going wrong? Any pointers/suggestions would be gratefully appreciated

    Many thanks in advance all!

  • #2
    Regular Coder
    Join Date
    Feb 2009
    Location
    Worcester
    Posts
    172
    Thanks
    13
    Thanked 6 Times in 6 Posts
    ok, i've realised that if i use a whole number as the input, then it works fine, but most likely the input will include 2 decimal places, is there a function that will allow the 'answer' to stay at 2 decimals event if the input contains decimals?

  • #3
    Regular Coder
    Join Date
    Feb 2009
    Location
    Worcester
    Posts
    172
    Thanks
    13
    Thanked 6 Times in 6 Posts
    Can no one help wit this then? I've tried all sorts, Math.round, toPersicion, toFixed, but no matter what i use, if i input a decimal the function fails, i've tried looking for a report of a bug in Flex 3 for this, but no one else seems to be having this trouble....

    Any suggestions?

    Thanks all

  • #4
    Regular Coder
    Join Date
    Feb 2009
    Location
    Worcester
    Posts
    172
    Thanks
    13
    Thanked 6 Times in 6 Posts
    Ha! Cracked it! For anyone else who's struggling withthis sort of thing, here's the answer:

    Code:
    private function CalculatePercentage(event:Event):void
    {
    	var myNumber:Number = new Number(price_input.text);
    				
    	var wholeNumber:Number = (myNumber * 100);
    				
    	var revertBack:Number = (wholeNumber  /10000);
    				
    	var GetPercentage:Number = (revertBack * 15);
    				
    	var percentageAnswer:Number = (GetPercentage + myNumber);
    				
    	var answer:Number = percentageAnswer;
    				
    	var display:String = answer.toFixed(2);// fixing to 2 decimals
    	var text:String = display.toString();
    	withPercentageprice.text = text;
    }

    Anyway, hope this helps someone

  • #5
    Senior Coder jerry62704's Avatar
    Join Date
    Oct 2007
    Location
    Springfield, IL
    Posts
    1,100
    Thanks
    13
    Thanked 87 Times in 87 Posts
    I've had that problem as well, but chose to use one of the controls:

    Code:
      
    <mx:CurrencyFormatter id="Price" 
    	precision="0"
    	rounding="none"
    	decimalSeparatorTo="."
    	thousandsSeparatorTo=","
    	useThousandsSeparator="true"
    	useNegativeSign="true"
    	currencySymbol="$"
    	alignSymbol="left"/>
    Then I use that like this:

    Code:
    public function assignOutputVariables():void {
    	// above columns - final results
    	var tempFormat:Number;
    	tempFormat = FSP.getFinalResults();
    	resultPotentialResultsData.data = Price.format(tempFormat);
    	assignFinalResultText();
    ...
    }
    Just an idea.
    .
    .
    ...and gladly would he learn and gladly teach

    Visit www.LiberalsWin.com for humor and the unique Bush/Obama Approval Polls

  • #6
    Regular Coder
    Join Date
    Feb 2009
    Location
    Worcester
    Posts
    172
    Thanks
    13
    Thanked 6 Times in 6 Posts
    Yeah i did try that one, but for some reason when it gave me the 'answer' it included 2 decimals! ie: 245.674345.87545, wierd hey?

    I assumed that it must have been because i was inputting decimals, and therefore outputting them too???

    But with the code i posted i can input with decimals and still get only 2 decimal places returned, whatever you prefer i suppose

    Thanks though


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •