programing

Java에서 플로트를 int로 변환하는 방법

goodsources 2022. 8. 27. 10:23
반응형

Java에서 플로트를 int로 변환하는 방법

float를 int로 변환하기 위해 다음 행을 사용했지만, 원하는 만큼 정확하지 않습니다.

 float a=8.61f;
 int b;

 b=(int)a;

결과는 다음과 같습니다.8(그것은,9)

언제a = -7.65f결과는 다음과 같습니다.-7(그것은,-8)

어떻게 하면 좋을까요?

사용.Math.round()플로트를 가장 가까운 정수로 반올림합니다.

실제로 원하는 결과에 따라 float를 int로 다운다운하는 방법이 다릅니다(int의 경우).i,흘러가다f)

  • round(지정된 플로트에 가장 가까운 정수)

    i = Math.round(f);
      f =  2.0 -> i =  2 ; f =  2.22 -> i =  2 ; f =  2.68 -> i =  3
      f = -2.0 -> i = -2 ; f = -2.22 -> i = -2 ; f = -2.68 -> i = -3
    

    주의: 이는 계약에 따라(int) Math.floor(f + 0.5f)

  • 잘라내기(즉, 모든 것을 소수점 뒤에 놓는다)

    i = (int) f;
      f =  2.0 -> i =  2 ; f =  2.22 -> i =  2 ; f =  2.68 -> i =  2
      f = -2.0 -> i = -2 ; f = -2.22 -> i = -2 ; f = -2.68 -> i = -2
    
  • ceil/floor(소수 부분이 있는 경우 항상 지정된 보다 크거나 작은 정수)

    i = (int) Math.ceil(f);
      f =  2.0 -> i =  2 ; f =  2.22 -> i =  3 ; f =  2.68 -> i =  3
      f = -2.0 -> i = -2 ; f = -2.22 -> i = -2 ; f = -2.68 -> i = -2
    
    i = (int) Math.floor(f);
      f =  2.0 -> i =  2 ; f =  2.22 -> i =  2 ; f =  2.68 -> i =  2
      f = -2.0 -> i = -2 ; f = -2.22 -> i = -3 ; f = -2.68 -> i = -3
    

양수 값을 반올림하려면(int)(f + 0.5)(정확히 다음과 같이 동작합니다).Math.Round(의사에 따라) 그 경우.

를 사용할 수도 있습니다.Math.rint(f)가장 가까운 짝수 정수로 반올림을 합니다.분수 부분이 0.5와 완전히 같은 많은 플로트를 다루고, 집합의 평균을 유지하고 싶다면(IEEE 반올림 문제 있음), 짝수가 홀수보다 더 일반적인 다른 편향을 도입할 것입니다.

http://mindprod.com/jgloss/round.html

http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html

자세한 내용과 예를 참조하십시오.

Math.round(value)값을 가장 가까운 정수로 반올림합니다.

사용하다

1) b=(int)(Math.round(a));

2) a=Math.round(a);  
   b=(int)a;

또한 Math.round는 정수값을 반환하므로 타입캐스트를 할 필요가 없습니다.

int b = Math.round(float a);

사용하다Math.round(value)그런 다음 입력 후 정수로 지정합니다.

float a = 8.61f;
int b = (int)Math.round(a);

Math.round()로 충분합니다.

int b = Math.round(a)

이것으로 작업이 완료됩니다.

인스턴스화Float통과시킴으로써 반대하다float컨스트럭터에게 primitive한 후,Float를 반환하기 위해 작성한 오브젝트int원시적인

설명.
number wrapper 클래스가 확장되기 때문에java.lang.Numberclass 를 사용하면 임의의 번호 래퍼 객체가 임의의 다른 번호의 프리미티브타입을 반환하도록 할 수 있습니다..<type>Value()방법.

순서

  1. Float 객체를 만듭니다.
  2. 를 사용합니다..intValue()원본을 반환하는 방법int.

Float mFloat = Float.valueOf(8.65f);
int i = mFloat.intValue();

부동 값을 정수 값으로 변환하려면 부동 값을 반올림하는 방법에 따라 여러 가지 방법이 있습니다.

첫 번째 방법은 플로트 값을 반올림하는 것입니다.

float myFloat = 3.14f;
int myInteger = (int)myFloat;

myFloat 값이 4에 가깝더라도 이 코드의 출력은 3이 됩니다.

두 번째 방법은 float 값을 반올림하는 것입니다.

float myFloat = 3.14f;
int myInteger = Math.ceil(myFloat);

반올림 모드는 항상 가장 높은 값을 찾기 때문에 이 코드의 출력은 4가 됩니다.

저로서는 (int) (a +.5) // a는 플로트입니다.반올림된 값을 반환합니다.

Java Math.round() 유형에 의존하지 않음

언급URL : https://stackoverflow.com/questions/1295424/how-to-convert-float-to-int-with-java

반응형