Objective-C中的Round双打

Ami*_*mir 10 iphone objective-c

我的格式是双号34.123456789.如何将其更改为34.123?

我只想要小数点后的3位数.

tc.*_*tc. 21

您可以使用打印到3位小数[NSString stringWithFormat:@"%.3f",d].

你可以近似围绕它round(d*1000)/1000,但当然这不能保证是准确的,因为1000不是2的幂.


pax*_*blo 8

您可以使用:

#include <math.h>
:
dbl = round (dbl * 1000.0) / 1000.0;
Run Code Online (Sandbox Code Playgroud)

请记住,浮点数和双精度数与底层类型可以提供的近似值相近.这可能不准确.


Bla*_*rot 7

批准的解决方案有一个小错字.它缺少"%".

这是没有拼写错误和一些额外代码的解决方案.

double d = 1.23456;
NSString* myString = [NSString stringWithFormat:@"%.3f",d];
Run Code Online (Sandbox Code Playgroud)

myString将是"1.234".