为什么这个公式仅适用于11个字符?

时间:2010-10-08 16:42:29

标签: iphone floating-point

我有一个带数字键盘键盘的UITextField,在编辑更改事件上,我这样做:

textField.text = [@"" stringByAppendingFormat:@"%0.2f", [[[textField text] stringByReplacingOccurrencesOfString:@"." withString:@""] floatValue]/100.0];

这是在网站上找到的脚本,它适用于前11个字符,这意味着如果我输入10000000000,它会正确显示:100000000.00

问题来自第12个字符 如果再次按0,则显示999999979.52
并且在节目9999999959.04中再次为0

它与浮动尺寸有关吗?

2 个答案:

答案 0 :(得分:1)

你应该避免使用字符串的floatValue来显示,也许doubleValue可以更好地为你工作。

答案 1 :(得分:1)

至少,您要将floatValue除以双倍 - 尝试doubleValue(如Ben建议)或除以100.0f