转换为具有可变小数位数的浮点数Obj-C

时间:2015-09-08 08:39:51

标签: ios objective-c

我们在app中要求我们需要一个字段的可变小数位数,从Web服务返回小数位数的规则,用户可以从Web门户更改该规则

假设float number = 125.879601223

我需要什么,如果

int numberOfDecimalPlaces = 4
NSString *convertedString = @"125.8796"

,或者

int numberOfDecimalPlaces = 2
NSString *convertedString = @"125.87"

需要一种基于numberOfDecimalPlaces规则转换字符串的方法,谢谢

3 个答案:

答案 0 :(得分:3)

    [System.Web.Services.WebMethod]
    public static void MyPageMethod()
    {
        //add your textchanged event code here
    }

答案 1 :(得分:1)

您可以使用:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];

[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:numberOfDecimalPlaces];
[formatter setRoundingMode: NSNumberFormatterRoundUp];

NSString * convertedString = [formatter stringFromNumber:[NSNumber numberWithFloat: number]];

答案 2 :(得分:0)

以字符串格式使用*修饰符:

NSString *convertedString = [NSString stringWithFormat: @"%.*f", numberOfDecimalPlaces, number];