我有一个带数字键盘键盘的UITextField,在编辑更改事件上,我这样做:
textField.text = [@"" stringByAppendingFormat:@"%0.2f", [[[textField text] stringByReplacingOccurrencesOfString:@"." withString:@""] floatValue]/100.0];
这是在网站上找到的脚本,它适用于前11个字符,这意味着如果我输入10000000000,它会正确显示:100000000.00
问题来自第12个字符
如果再次按0,则显示999999979.52
并且在节目9999999959.04中再次为0
它与浮动尺寸有关吗?
答案 0 :(得分:1)
你应该避免使用字符串的floatValue来显示,也许doubleValue可以更好地为你工作。
答案 1 :(得分:1)
至少,您要将floatValue
除以双倍 - 尝试doubleValue
(如Ben建议)或除以100.0f
。