NSNumber 小数点问题

NSString *test = @"34.";

float testFloat = [test floatValue];
NSNumber *testNum = [NSNumber numberWithFloat:testFloat];
NSLog(@"testNum = %@", testNum);

打印出34
我想要小数点的NSNumber格式打印,即34.

how?

阅读 10.9k
2 个回答

刚刚用断点测试了一下

NSString *test = @"34.0";
NSString *test1 = @"34.1";

float testFloat = [test floatValue];//testFloat = 34
float testFloat1 = [test1 floatValue];//testFloat1 = 34.0999985

所以在nsstring的floatValue时就错了。

NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:test1];//若为test还是34

如果后面没有小数是不会显示小数点的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题