如何在给定整数和小数位的情况下生成 float ?
例如:
int decimal = 1000;
int decimal_position = 3;
float value = 1.000;
我已经通过使用权力完成了这个,但是效率不高
decimal/pow(10, decimal_position)
最佳答案
你可以用一些整数乘法和一个浮点除法来做到这一点:
int decimal = 1000;
int decimal_position = 3;
int offset = 1, i;
for (i=0; i<decimal_position; i++) {
offset *= 10;
}
float value = (float)decimal / offset;
请注意,假设 decimal_position
是非负的并且 10decimal_position 适合 int
。
关于c - 如何在给定整数和小数位的情况下创建 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48889655/