如果适合区域,NSNumberformatter可以使用逗号将数字转换为字符串替换句点

时间:2013-11-08 04:33:50

标签: nsnumberformatter regional-settings

我需要将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”的反转?

1 个答案:

答案 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

这将根据当前区域设置显示分隔符。