[英]Trim start of NSString ( TrimStart(string) in Objective C )
[英]Objective C, Trim a float
我有float
狀3500,435232123
。 我只想知道是否存在(在目標C中)一個讓我只保留最后4位數字的函數是2123。
您可以使用NSNumberFormatter
NSNumberFormatter *format = [[NSNumberFormatter alloc]init];
[format setNumberStyle:NSNumberFormatterDecimalStyle];
[format setRoundingMode:NSNumberFormatterRoundHalfUp];
[format setMaximumFractionDigits:4];
[format setMinimumFractionDigits:4];
string = [NSString stringWithFormat:@"%@",[format stringFromNumber:[NSNumber numberWithFloat:65.50055]] ;
或者簡單地
NSString *string = [NSString stringWithFormat:@"%.04f", floatValue];
如果只需要最后四位數字,請將浮點數轉換為字符串
NSString *string = [NSString stringWithFormat:@"%f", floatValue];
並獲取最后四個字符
NSString *lastFour = [string substringFromIndex: [string length] - 4];
如果要獲取小數部分,可以執行x-floor(x)。 例如:
float x = 3500,435232123;
NSString *string = [NSString stringWithFormat:@"%.04f", x - floor(x)];
要獲得4個十進制數字,請執行Fawad Masud所說的。
據我所知,沒有這樣的功能。 但是,這是一種精確實現您想要的方法。
首先,您必須將其四舍五入至四位數:
NSString *exampleString = [NSString stringWithFormat:@"%.04f", valueToRound];
然后,在exampleString
獲取逗號的位置:
NSRange commaRange = [valueString rangeOfString:@","];
最后,使用該finalString
中的值創建NSRange
。 子字符串從commaRange.location+commaRange.length
開始,因為多數民眾贊成在commaRange.location+commaRange.length
逗號之后的索引。
NSString *finalString = [valueString substringWithRange:NSMakeRange(commaRange.location+commaRange.length,valueString.length-commaRange.location-commaRange.length)];
希望對您有幫助。
我認為這不是預定義的功能。
我想到的解決方案是:
float floatNum = 3500.435232123;
將float
轉換為字符串並修剪/細分字符串,例如:
NSString *stringFloat = [NSString stringWithFormat:@"%f", floatNum];
NSString *newString = [stringFloat substringWithRange:NSMakeRange(stringFloat.length - 4, stringFloat.length)];
NSLog(@"%@", newString);
另一個是這樣的:
NSString *stringFloat = [NSString stringWithFormat:@"%f", floatNum];
//separates the floating number to
arr[0] = whole number
arr[1] = decimals
NSArray *arr=[str componentsSeparatedByString:@"."];
由於您只想使用小數,我認為arr[1]
是您所需要的。
NSString *stringDecimals = (NSString *)arr[1];
if ( stringDecimals.length > 4) //check the length of the decimals then cut if exceeds 4 character..
{
stringDecimals = [stringDecimals substringWithRange:NSMakeRange(stringDecimals.length - 4, stringDecimals.length)];
}
NSLog(@"stringDecimals: %@", stringDecimals);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.