gpt4 book ai didi

iphone NSString stringWithFormat 和 float

转载 作者:行者123 更新时间:2023-12-03 19:05:23 25 4
gpt4 key购买 nike

我有一个带有 UIKeyboardTypeDecimalPad 的输入,我需要我的用户输入一个 float (点​​后有无限个字符)。输入后,我用以下内容过滤字符串:

NSString *newValue = [NSString stringWithFormat:@"%.f",[textField.text floatValue]]

但这在点后给了我很多不必要的数字(例如,对于 2.25,它给出了 2.249999)。

我需要的只是过滤输入,使其成为合法的 float (数字且不超过一个点)。

我该怎么做?

最佳答案

NSString *newValue = [NSString stringWithFormat:@"%0.1f", [textField.text floatValue]];

点后面的数字是您想要的小数位数。

更新:您可以使用字符串操作来确定用户输入的小数位数(不要忘记检查边缘情况):

NSInteger numberOfDecimalPlaces = textString.length - [textString rangeOfString:@"."].location - 1;

然后,如果您想使用新的 float 创建一个新字符串,使其达到与显示精度相同的水平,您可以使用:

NSString *stringFormat = [NSString stringWithFormat:@"%%0.%if", numberOfDecimalPlaces];
NSString *newString = [NSString stringWithFormat:stringFormat, newFloat];

关于iphone NSString stringWithFormat 和 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9125233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com