-1
어떤 이유로 소수점에 대한 부정확성에도 불구하고 프로그램에서 부동 소수점이 절대적으로 필요하다고 가정하면 2로 반올림하는 데 사용할 수있는 방법이 있습니까? 십진 자리를 double로 변환하지 않고?자바에서 소수 2 자리로 반올림하는 법
어떤 이유로 소수점에 대한 부정확성에도 불구하고 프로그램에서 부동 소수점이 절대적으로 필요하다고 가정하면 2로 반올림하는 데 사용할 수있는 방법이 있습니까? 십진 자리를 double로 변환하지 않고?자바에서 소수 2 자리로 반올림하는 법
이 시도 :
public static float roundFloat(float number, int scale)
{
int pow = 10;
for (int i = 1; i < scale; ++i)
pow *= 10;
float tmp = number * pow;
return ((float) ((int) ((tmp - (int) tmp) >= 0.5f ? tmp + 1 : tmp)))/pow;
}
솔리드 빠르게.
Math.round()에 문제가 있습니까? 그것을 표시 할 필요가 있다면 형식을 사용할 수 있습니다. – clinomaniac
플로트 데이터를 반올림하지 마십시오. 문자열로 서식을 지정할 때 자리 수를 제한하십시오. – VGR
복식에만 사용되는 것이 아닌가요? 나는 float을 double 형으로 변환 할 수 있다는 것을 알고 있지만, 프로그램은 대부분 float으로 구성되어 있습니다. (필자는 교과서를 따르고 있으며 필자는 현재 수준에서 반올림이 필요하지 않기 때문에 float를 사용하기로 결정했습니다.) (자궁 경부 용). – SilentEevee