我想只为浮点数取两个小数位而不进行四舍五入。例如。 4.21777应为4.21而不是4.22。我该怎么做?
答案 0 :(得分:6)
一个简单的答案:
double x = 4.21777;
double y = Math.floor(x * 100) / 100;
答案 1 :(得分:0)
减去0.005
然后再舍入。例如,如果您只想打印数字,则可以使用%f6.2
格式和值x-0.005
。
答案 2 :(得分:0)
float f = 4.21777 * 100;
int solution = (int)f;
f = solution/100;
这应该有用;)
说明:通过乘以100,您将获得421.777,其中,castet到int,将向下舍入为421.现在除以100将返回其实际值。