gpt4 book ai didi

iphone - floor 小数点后加倍

转载 作者:太空宇宙 更新时间:2023-11-03 23:57:03 27 4
gpt4 key购买 nike

我想用可变的十进制长度(在 iphone sdk 中)将小数点后的 double 取整。

这里有一些例子可以告诉你我的意思

NSLog(@"%f",[self floorMyNumber:34.52462 toPlace:2); // should return 34.52
NSLog(@"%f",[self floorMyNumber:34.52662 toPlace:2); // should return 34.52

NSLog(@"%f",[self floorMyNumber:34.52432 toPlace:3); // should return 34.524
NSLog(@"%f",[self floorMyNumber:34.52462 toPlace:3); // should return 34.524

NSLog(@"%f",[self floorMyNumber:34.12462 toPlace:0); // should return 34.0
NSLog(@"%f",[self floorMyNumber:34.92462 toPlace:0); // should return 34.0

有什么办法吗?

解决方案

-(double)floorNumberByDecimalPlace:(float)number place:(int)place {
return (double)((unsigned int)(number * (double)pow(10.0,(double)place))) / (double)pow(10.0,(double)place);
}

最佳答案

另一种解决方案:

placed为10(例:13.1)、100(例:12.31)等

double value = (double)((unsigned int)(value * (double)placed))/(double)placed

关于iphone - floor 小数点后加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273179/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com