首页 > 解决方案 > 如何将 double 舍入为 0.00005?

问题描述

我有一个双精度值,我想使用 C89/ANSI C 向下舍入到值 0.00000/0.00005。所以:

1.10984 becomes 1.10980
1.10985 becomes 1.10985
1.10986 becomes 1.10985
1.10988 becomes 1.10985
1.10989 becomes 1.10985
1.10990 becomes 1.10990
1.10991 becomes 1.10990

我努力了:

roundedDouble = doubleToRound - (doubleToRound % 0.00005);

但是 % 运算符仅适用于整数。

解决方案也适用于以下四舍五入的情况:

0.000000 / 0.000025 / 0.000050 / 0.000075 

0.00001 / 0.00002 / 0.00003 / 0.00004 / ... / 0.00008 / 0.00009

标签: croundingc89

解决方案


推荐阅读