Try using the following code:
var a1 = +(+$("#orderprogress").val()).toFixed(2);
var a2 = +(+$("#poprogress").val()).toFixed(2);
graphData = [
[a1, '#222222'],//[50,'#222222']
[a2, '#7D252B']//[70,'#222222']
];
DEMO: http://jsfiddle.net/ERccS/4/
This will take the textbox value (a string), convert it to a number, call toFixed(2) on it, then convert it back to a number.
Unfortunately (if you care), "50" will be displayed as 50 (this happens with trailing 0s). If you always need 2 decimal places no matter what, take off the first + I have in my code - they will be kept as strings and always have 2 decimal places.
I'm not exactly sure what you're looking to do with the toFixed. The .val() method always returns a string. toFixed isn't a String method - it's a Number method. And its result is the original Number rounded to a certain number of decimal places (what you pass to the method). In your case, it's 2.