格式说明符

时间:2013-06-01 14:04:01

标签: ios nsstring format-specifiers

我想知道我用格式说明符看到的东西。我看到的是:

@"%03.1f", someFloat

我测试了它并在日志中返回

"1.5"

这是什么叫做03.1之间%f的事情?

3 个答案:

答案 0 :(得分:4)

这是一个基本问题。它来自C语言。

默认浮动值的格式如下:

%w.pf

下面:

w代表宽度
p代表精确度

请检查C format specifiers

示例:

Printing 3.141592 using %f       displays 3.141592
Printing 3.141592 using %1.1f    displays 3.1
Printing 3.141592 using %1.2f    displays 3.14
Printing 3.141592 using %3.3f    displays 3.142
Printing 3.141592 using %4.4f    displays 3.1416
Printing 3.141592 using %4.5f    displays 3.14159
Printing 3.141592 using %09.3f   displays 00003.142
Printing 3.141592 using %-09.3f  displays 3.142
Printing 3.141592 using %9.3f    displays     3.142
Printing 3.141592 using %-9.3f   displays 3.142

答案 1 :(得分:1)

宽度(%3f)表示我们需要为输出保留三位数(位置)。

%3.1f - > (打印为浮点数至少3宽,精度为1)

阅读Format Specifiers

答案 2 :(得分:1)

<强>%w.pf

,其中

w - &gt;总价值的最小宽度

p - &gt;确切的小数位数。

float f = 2345.34567;
NSLog(@"%2.2f",f);  //Prints:   "2345.35"
NSLog(@"%.4f",f);   //Prints:   "2345.3556"
NSLog(@"%8.2f",f);  //Prints:   " 2345.35"(includes 1 space to make width of f  '8')
NSLog(@"%15.2f",f); //Prints:   "        2345.35"(includes 8 spaces to make width of f '15')