stringwithformat(使用StringWithFormat格式化字符串)

使用StringWithFormat格式化字符串 使用StringWithFormat函数可以有效地在字符串中添加变量和格式输出。这个函数在Objective-C和Swift中都可以使用。在本文中,我们将详细介绍如何使用这个函数,并提供一些常用的格式输出示例。 创建一个格式化字符串 使用以下格式创建一个格式化字符串: ```objc NSString *formatString = [NSString stringWithFormat:@\"这是一个格式化字符串 %@\", variable]; ``` 或者,在Swift中: ```swift let formatString = String(format: \"这是一个格式化字符串 %@\", variable) ``` 其中,% @是一个格式标识符。当格式字符串被解析时,它将被替换为variable的值。其他的格式标识符可用于输出其他类型的变量。 输出整型变量 如果要输出整型变量,可以使用以下格式标识符: %d: 输出一个有符号的十进制整数 %u: 输出一个无符号的十进制整数 %x, %X: 输出一个十六进制整数,小写(%x)或大写(%X) 例如,将一个整型变量替换为一个格式化字符串: ```objc int number = 123; NSString *formattedString = [NSString stringWithFormat:@\"My lucky number is %d\", number]; NSLog(@\"%@\", formattedString); // Output: My lucky number is 123 ``` 使用Swift: ```swift let number = 123 let formattedString = String(format: \"My lucky number is %d\", number) print(formattedString) // Output: My lucky number is 123 ``` 输出浮点型变量 如果要输出浮点型变量,可以使用以下格式标识符: %f: 输出一个浮点数 %e, %E: 输出一个以指数形式表示的浮点数,小写(%e)或大写(%E) %g, %G: 自动选择%f或%e格式,使得输出最少的位数 例如,将一个浮点数替换为一个格式化字符串: ```objc float f = 3.14; NSString *formattedString = [NSString stringWithFormat:@\"圆周率是 %f\", f]; NSLog(@\"%@\", formattedString); // Output: 圆周率是 3.140000 ``` 使用Swift: ```swift let f = 3.14 let formattedString = String(format: \"圆周率是 %f\", f) print(formattedString) // Output: 圆周率是 3.140000 ``` 如果不需要小数点后面的位数,可以使用%.0f: ```objc int i = 42; NSString *formattedString = [NSString stringWithFormat:@\"The answer is %.0f\", f]; NSLog(@\"%@\", formattedString); // Output: The answer is 42 ``` 使用Swift: ```swift let i = 42 let formattedString = String(format: \"The answer is %.0f\", f) print(formattedString) // Output: The answer is 42 ``` 输出布尔型变量 布尔型变量可以使用以下格式标识符输出: %d: 1表示true,0表示false %@: 输出@“YES”表示true,@“NO”表示false 例如,将一个布尔型变量替换为一个格式化字符串: ```objc BOOL b = YES; NSString *formattedString = [NSString stringWithFormat:@\"My result is %@\", b ? @\"YES\" : @\"NO\"]; NSLog(@\"%@\", formattedString); // Output: My result is YES ``` 使用Swift: ```swift let b = true let formattedString = String(format: \"My result is %@\", b ? \"YES\" : \"NO\") print(formattedString) // Output: My result is YES ``` 输出日期变量 NSDate对象可以用以下格式标识符输出: %d: 一个月的第几天(01-31) %e: 一个月的第几天(1-31) %H: 24小时格式(00-23) %I: 12小时格式(01-12) %M: 分钟(00-59) %p: @“AM”或@“PM”(大写) %S: 秒(00-59) %j: 一年中的第几天(001-366) %w: 一周中的第几天(0-6) %U: 一年中的第几个星期,以星期日为第一天(00-53) %W: 一年中的第几个星期,以星期一为第一天(00-53) %z: 时区偏移,格式为@“+0900” %Z: 时区缩写,例如@“JST” 例如,输出当前日期: ```objc NSDate *now = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@\"Today is %@.\"]; NSString *formattedString = [NSString stringWithFormat:[formatter stringFromDate:now]]; NSLog(@\"%@\", formattedString); // Output: Today is 2021-07-12 08:53:26 +0000. ``` 使用Swift: ```swift let now = Date() let formatter = DateFormatter() formatter.dateFormat = \"Today is %@.\" let formattedString = String(format: formatter.string(from: now)) print(formattedString) // Output: Today is 2021-07-12 08:53:26 +0000. ``` 结论 以上是使用StringWithFormat格式化字符串控制输出格式的一些示例。在您的Objective-C或Swift程序中,您可以使用这些格式标识符中的任何一个来输出不同类型的变量。使用StringWithFormat函数有助于让您的代码更灵活,更易读和易于维护。
本文标题:stringwithformat(使用StringWithFormat格式化字符串) 本文链接:http://www.cswwyl.com/meiwei/8283.html

注:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即后台留言通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意

< 上一篇 runningman2016(Runningman之2016集锦)
下一篇 > thehurtlocker(解析电影《拆弹专家》)