我需要将textfield.text从一个数字更改为另一个数字,但保留区域使用逗号或十进制消除器的句点。
A
NSNumberFormatter * nf = [[NSNumberFormatter alloc] init]; nf.locale = [NSLocale currentLocale]; NSNumber * n = [nf numberFromString:textfield.text]; //如果需要,将逗号转换为句点
float number = [n floatValue];
float newnumber = number * factor;
乙
现在我需要将新数字重新加载到textfield.text中作为字符串,如果区域调用则将句点转换为逗号。换句话说,逆向工程第一步。
NSNumber * n = [NSNumber numberWithFloat:number]; //说数字是17.22000
textfield.text = [nf stringFromNumber:n];
不能截断到句号“17”是否有“A”的反转?
答案 0 :(得分:1)
使用localizedStringWithFormat方法:
NSNumber *yourNumber = [nf numberFromString:yourString];
//to create the formatted NSNumber object
NSString *yourString = [NSString localizedStringWithFormat:@"%.2F", yourNumber];
//to create the localized output
这将根据当前区域设置显示分隔符。