3 回答

TA貢獻1803條經(jīng)驗 獲得超3個贊
感謝大家的指導,我設法提出了一個解決方案:
float roundedValue = round(2.0f * number) / 2.0f;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:1];
[formatter setRoundingMode: NSNumberFormatterRoundDown];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:roundedValue]];
[formatter release];
上面的代碼適用于我拋出的測試用例,但是如果有人知道一種更好的方法,我很想聽聽它!

TA貢獻1815條經(jīng)驗 獲得超10個贊
float floatVal = 1.23456;
四舍五入
int roundedVal = lroundf(floatVal);
NSLog(@"%d",roundedVal);
圍捕
int roundedUpVal = ceil(floatVal);
NSLog(@"%d",roundedUpVal);
四舍五入
int roundedDownVal = floor(floatVal);
NSLog(@"%d",roundedDownVal);

TA貢獻1824條經(jīng)驗 獲得超8個贊
一種簡單的方法:
float theFloat = 1.23456;
int rounded = roundf(theFloat); NSLog(@"%d",rounded);
int roundedUp = ceil(theFloat); NSLog(@"%d",roundedUp);
int roundedDown = floor(theFloat); NSLog(@"%d",roundedDown);
// Note: int can be replaced by float
- 3 回答
- 0 關注
- 561 瀏覽
添加回答
舉報