我的格式为34.123456789
。如何将其更改为34.123?
我只想要小数点后的3位数。
答案 0 :(得分:21)
您可以使用[NSString stringWithFormat:@"%.3f",d]
将其打印到3位小数。
您可以使用round(d*1000)/1000
近似围绕它,但当然不能保证这是精确的,因为1000不是2的幂。
答案 1 :(得分:8)
您可以使用:
#include <math.h>
:
dbl = round (dbl * 1000.0) / 1000.0;
请记住,浮点数和双精度数与底层类型可以提供的近似值相近。它可能不是完全。
答案 2 :(得分:7)
批准的解决方案有一个小错字。它缺少“%”。
这是没有拼写错误和一些额外代码的解决方案。
double d = 1.23456;
NSString* myString = [NSString stringWithFormat:@"%.3f",d];
myString将是“1.234”。
答案 3 :(得分:1)
如果你想制作
NSNumberFormatter
您可以使用NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setMaximumFractionDigits:3]; // 3 is the number of digits
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:34.123456789]]); // print 34.123
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:34.000000000]]); // print 34
<input name="txtQty" type="text" id="txtQty" size="5" value="<?php echo $qty; ?>">
<input name="btnEdit" type="button" value="Edit" id="btnEdit" onclick="redirectUser()" />
<script>
function redirectUser(){
var qty = document.getElementById('txtQty').value;
location.replace('<?php echo $_SERVER['PHP_SELF']; ?>action=update&cid=<?php echo $shoppingCartId; ?>&qty='+qty);
}
</script>