如何绕十进制数 2 图B. iphone?

我们如何将十进制数偏转为 2 图B. iphone ?

例如 ,

5345 --> 53

570 -- > 57

89523 -- > 90

我试图为此使用 nsformatter 这是我使用的代码 ,


NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumIntegerDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundUp];

NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithInt:570]];

[formatter release];
NSLog/@"%@",numberstring/;


我继续获得一个价值 70 即使在将舍入模式转换为其他参数之后。 请帮帮我。

谢,
vinod。
已邀请:

风见雨下

赞同来自:

使用这个简单的代码而不是格式化程序;


myFloat = roundf/100 * myFloat/ / 100.0;


我希望它会有所帮助。

或者你可以使用它


float roundedValue = round/2.0f * number/ / 2.0f;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundDown];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:roundedValue]];
[formatter release];

知食

赞同来自:

由于您想要六十进制数字,您实际上应该为此浮动提供,并设置最大数量数 2. 你可能正在寻找它,


NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundHalfUp];

NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:570.57018]];

[formatter release];
NSLog/@"%@",numberString/;

帅驴

赞同来自:

https://coderoad.ru/1343890/
也许这个链接 helps.you 可以转换结果 float 早在 nsnumber

涵秋

赞同来自:

答案Dipaca可能完全是您需要的,但我只是为了选择的缘故提供另一种选择。 我猜你使用价值
NSNumber

, 所以
someNumber

将在该示例中具有此类型:


NSString *numberString = [NSString stringWithFormat:@"%.2f", [someNumber floatValue]];
// this converts the NSNumber to a float, then formats the float in a string;
NSNumber *formattedNumber = [NSNumber numberWithFloat:[numberString floatValue]];
// this extracts the float from the string and puts it back as an NSNumber

三叔

赞同来自:

似乎没有直接的直接绕过整数

但你仍然可以这样做。 您必须执行一些额外的工作以将整数转换为分数号码,以及一些删除的技巧 "0." 从价值 float.


NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[formatter setMaximumFractionDigits:2];

int n = 570;
float f = [[NSString stringWithFormat:@"0.%d", n] floatValue];
NSNumber *number = [NSNumber numberWithFloat:f];
NSString *str = [formatter stringFromNumber:number];
[formatter setPositivePrefix:@"0."];
number = [formatter numberFromString:str];
[formatter release];

要回复问题请先登录注册