As to #1, you should study the iOS HIG - doing what you have in mind might be a good way to risk rejection and not have your app make it into the store.
On devices running iOS v4.1 and greater you can use the following:
myTextField.keyboardType = UIKeyboardTypeDecimalPad;
It is tricky (and perhaps not worth the trouble) if you are trying to support older iOS versions. Here is a link to the most popular solution.
Thanks for the solution. But I am still facing a issue for decimal point. it has added a decimal point button but it is not limiting to only one decimal point. how to restrict to one decimal point only?
Also I am wondering as you said "On devices running iOS v4.1 and greater" does that mean if I use this command then my app will not work with old iPhones on which lower version of ios is present?