1
A
回答
3
使用fmod()
函数而不是%
。它接受double
参数,并返回double
结果。
3
为什么你不先发言,然后mod,即。 floor(e) % 100000
?
也许我误解了你想达到的目标。你能举一个你期望的输入和输出的例子吗?
3
使用fmod
0
你可以使用部门,使模相当于:
double e = 1289401004400.589201;
const double divisor = 100000.0;
double remainder = e - floor(e/divisor) * divisor;
double result = floor(remainder);
printf("%f\n", result);
这将打印
4400.000000
当然,这是比慢得多任何内置的模...
您也可以使用fmod
,如安德斯K.建议:)
编辑
固定的std :: COUT(C++)参照用printf(C)。修改了输出。现在它完全是C.
+1
-1对于标记为C的问题中的'cout',甚至在主题中表示C。 C不是C++。 – 2010-08-28 11:55:08
相关问题
- 1. C#双整数
- 2. 圆整双数到整数?
- 3. 大整数和双整数
- 4. 的Java双人/整数
- 5. 铸造整数除法为双用C
- 6. 整数模数
- 7. 模数从非常大的整数C#
- 8. 整数整数与整数的整数
- 9. 整数转换为双重
- 10. 双和整数转换
- 11. atoi与整数和双打
- 12. Java - 双精度和整数
- 13. 为什么floor不返回一个整数?
- 14. 整数模式
- 15. 将整数(长整数)转换为jsp中的双精度值
- 16. C++铸造pow函数的双重结果的整数
- 17. C++大整数
- 18. C:从整数
- 19. 在C中打印整数char整数
- 20. 整数的C++ power,模板meta编程
- 21. 如何从golang中的数学floor函数中获得整数结果?
- 22. 的JavaScript .floor数
- 23. 整数的ArrayList整数小整数
- 24. 关于比较的整数和浮点值/双重在C/C++
- 25. 双打,整型,Math.Round在C#
- 26. C双值向上取整
- 27. Java递归和整数双位数字
- 28. php - 为什么floor会舍入一个整数?
- 29. 整数列之和是双倍
- 30. 在C中打印一个双精度数而不是整数
我正在将一个十进制数(从lat/long转换而来)转换为米和东经,然后格式化它。 – 2010-08-28 10:36:50
这应该或多或少等同于此处的任何其他解决方案。 – 2010-08-28 10:53:29
只有'floor'的结果符合整数类型时,这才起作用。对于非常大的浮点数,你需要'fmod'(并且需要希望它的实现方式对大数是准确的),但是如果你使用大数的'fmod',你可能会误用浮点数遇到一些令人讨厌的精确丢失错误。 – 2010-08-28 11:54:10