我想在文本字段中显示浮点数,直到在 ATM 机中输入的小数点后两位以提取金额。比如,0.03。如果我输入一个新数字,比如 6,它会像 0.36 等等。请建议我这样做的方法。谢谢
问问题
339 次
4 回答
2
嘿,检查一下,就像 ATM 功能一样...
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";
}
输出为:FullString 12349.87
享受这段代码..
于 2012-11-29T08:48:27.263 回答
1
NSNumberFormatter* decimalFormatter = [[NSNumberFormatter alloc] init];
[decimalFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[decimalFormatter setMaximumFractionDigits:2];
[decimalFormatter setMinimumFractionDigits:2];
NSString *enteredPrice=[decimalFormatter stringFromNumber:[NSNumber numberWithDouble:unitprice]];
您可以使用十进制格式化程序
于 2012-11-29T08:20:36.563 回答
0
干得好:
float yourFloat = 2.45678;
NSString *text = [NSString stringWithFormat:@"%.2f", yourFloat];
textField.text = text;
于 2012-11-29T08:19:46.537 回答
0
我已经开源了内置此功能的SATextField 。您需要设置fixedDecimalPoint
为“是”。
编辑:我创建了一个包含此功能的新项目:STAControls(特别是使用STAATMTextField
——它甚至支持.
输入!)。不同的是,这个项目已经作为一个合法的子类来实现,UITextField
而SATextField
仅仅是一个包含UITextField
实例的容器类。
于 2013-05-08T12:47:31.920 回答