我想在文本字段中显示浮点数字,最多两个小数点,如在ATM机器中输入的那样。比如,0.03。如果我输入一个新的数字说6,那就像是0.36等等。 请建议我这样做的方法。感谢
答案 0 :(得分:2)
NSString *str = @"1234987";
NSUInteger len = str.length;
if (len>0) {
if (len==1) {
str = [NSString stringWithFormat:@"0.0%@",str];
NSLog(@"%@",str);
}
else if (len==2) {
str = [NSString stringWithFormat:@"0.%@",str];
NSLog(@"%@",str);
}
else {
NSString *pointstr = [str substringWithRange:NSMakeRange(len - 2,2)];
NSString *Bstr = [str substringWithRange:NSMakeRange(0,len-2)];
str = [NSString stringWithFormat:@"%@.%@",Bstr,pointstr];
NSLog(@"\n\n FullString %@",str);
}
}
else{
str = @"0.0";
}
OutPut是:FullString 12349.87
享受此代码..
答案 1 :(得分:1)
NSNumberFormatter* decimalFormatter = [[NSNumberFormatter alloc] init];
[decimalFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[decimalFormatter setMaximumFractionDigits:2];
[decimalFormatter setMinimumFractionDigits:2];
NSString *enteredPrice=[decimalFormatter stringFromNumber:[NSNumber numberWithDouble:unitprice]];
您可以使用小数格式化程序
答案 2 :(得分:0)
你走了:
float yourFloat = 2.45678;
NSString *text = [NSString stringWithFormat:@"%.2f", yourFloat];
textField.text = text;
答案 3 :(得分:0)
我的开源SATextField内置了此功能。您需要将 fixedDecimalPoint
设置为YES。
编辑:我创建了一个包含此功能的新项目:STAControls(具体来说,使用STAATMTextField
- 它甚至支持.
入门!的)。不同之处在于,此项目已作为UITextField
的合法子类实现,而SATextField
仅仅是容纳UITextField
实例的容器类。