0

我想将双精度值分配给另一个双精度值,但只打印小数点后的 1 个数字,假设我有这个随机精度值,现在是23.12906370532668

如何将其转换为仅23.1,但保持双值?我可以说:

NSLog(@"%4.1f\n", double);

但这被打印为字符串,我想将其分配给另一个新的双精度。从double one = 23.12906370532668;double two = 23.1;什么是最好的方法以及如何做到这一点?

4

2 回答 2

0

不确定您要做什么,但这可能是您想要的

double d = 23.12906370532668;
NSString *str = [NSString stringWithFormat:@"%4.1f\n", d];
double d2 = [str doubleValue];
于 2012-07-07T08:00:49.933 回答
0

您可以乘以 10,舍入/截断/天花板/地板(根据您的需要)到一个整数值,然后除以 10。

double two = rint(10.0 * one) / 10.0;
于 2012-07-07T08:08:49.457 回答