이 글의 내용은 Java에서 float를 long이나 int로 변환하는 방법에 관한 것입니다. (코드 첨부) 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Java에서는 float를 long 또는 int로 변환하는 방법이 세 가지가 있는데, 우리는 long 데이터 유형 부분에만 중점을 둡니다.
float 데이터 유형을 long 값으로 변환하는 첫 번째 방법은 자동 상자 float 기본 요소를 float 객체로 변환하고 longValue() 메서드를 호출하는 것입니다.
다른 방법은 단순히 소수점을 제거하기 위해 float를 long 또는 int로 변환하므로 이는 보다 구조화된 접근 방식입니다.
다음 팁에 따라 long 메소드를 해당 int 메소드로 대체하여 float를 int로 변환하는 Java 프로그램을 작성할 수도 있습니다.
또는 Math.round()를 사용한 다음 다시 긴 데이터 유형으로 변환할 수 있습니다.
소수점 이하의 숫자만 없애면 두 번째 방법이 가장 간단하지만, 반올림이 필요한 경우에는 float 데이터 형식을 long으로 변환하는 세 번째 방법이 가장 좋습니다.
이 기사에서는 Java에서 부동 소수점을 Long으로 변환하는 세 가지 방법을 배웁니다.
Java에서 float를 long으로 변환하는 3가지 방법
옵션 1 - Casting
Java는 한 데이터 유형을 다른 데이터 유형으로 변환하는 유형 변환을 지원하지만 더 큰 데이터 유형만 변환할 수 있습니다. 더 낮은 값. float는 long보다 범위가 길기 때문에 typecasting을 사용하여 다음과 같이 long으로 변환할 수 있습니다.
float number = 444.33f; long aValue = (long) number; // 444
소수점 이하의 값을 버리는 것 외에는 아무 작업도 수행하지 않으므로 fromFloat에서 3의 값을 얻게 됩니다. 변수 .
float를 int로 변환하려면 long 대신 float를 정수로 변환해야 합니다. 이것이 가장 간단한 변환 방법입니다.
해결책 2 - Float.longValue
float를 long으로 변환하는 또 다른 방법은 먼저 float 값을 Float 래퍼 객체에 자동 로드한 다음 Float.longValue() 메서드를 호출하는 것입니다. 이 방법은 위 이미지와 아래 코드에 표시된 것처럼 내부적으로 float 값을 long으로 변환합니다.
public long longValue(){ return(long)value; }
이 방법을 사용하여 변환하는 방법은 다음과 같습니다.
Float PIE = 3.14f; long fromFloat = PIE.longValue();
이 방법은 float 기본 값 대신 Float 개체가 있을 때 작동합니다. 더 적합합니다.
해결책 3 - Math.round 및 Casting
때때로 변환은 소수점 이하의 내용을 버리는 것만큼 간단하지 않습니다. 변환하기 전에 반올림이 필요할 수 있습니다. 이 경우 Math.round() 메서드를 사용하여 먼저 반올림을 수행한 다음 유형 변환을 수행하여 double을 long으로 변환할 수 있습니다. Math.round() 메서드는 double 값을 반환합니다. 다음은 이 변환을 수행하는 샘플 코드입니다.
// 使用Math.round()并强制转换为long float points = 333.322f; long rounded = Math.round(points); System.out.printf("float : %f, long : %d %n", points, rounded); points = 333.922f; rounded = Math.round(points); System.out.printf("float : %f, long : %d %n", points, rounded); Output : float : 333.321991, long : 333 float : 333.921997, long : 334
반올림 효과를 볼 수 있습니다. 첫 번째 예에서는 float가 반올림됩니다. 따라서 변환된 long 값은 333인 반면, 두 번째 예에서는 다음과 같습니다.
float를 long 데이터 유형으로 변환하는 Java 프로그램
아래 코드에 표시된 것처럼 float를 long으로 변환하는 세 가지 방법을 결합합니다. 작동 방식을 확인하고 float를 int로, short 또는 byte로, double을 long, int, short 및 byte로 변환하는 것과 같은 또 다른 유사한 변환 기술을 수행하는 방법을 배울 수 있습니다.
/** * 用于在Java中将float转换为long * * @author Javarevisited */ public class FloatToLongConverter{ public static void main(String[] args) { // Autobox浮动到Float然后调用Float.longValue(); Float PIE = 3.14f; long fromFloat = PIE.longValue(); System.out.printf("float value %f, long value %d %n", PIE, fromFloat); // 简单的类型转换来消除小数 float number = 444.33f; long aValue = (long) number; System.out.printf("float value %f, after casting into long %d %n", number, aValue); // 使用Math.round()并将其转换回long float points = 333.322f; long rounded = Math.round(points); System.out.printf("float : %f, long : %d %n", points, rounded); } } Output : float value 3.140000, long value 3 float value 444.329987, after casting into long 444 float : 333.321991, long : 333
Java에서 float를 long 데이터 유형으로 변환하는 방법입니다. 소수 값만 제거하는 경우 유형 변환이 가장 쉬운 방법입니다. 이는 Java에서 숫자를 반올림하는 유일한 방법은 아니지만 대부분의 목적에 적합합니다.
더 빠르고 체계적으로 배우고 싶다면 Alibaba, Baidu 인터뷰 질문, Java 엔지니어링, 고성능 및 배포, 마이크로서비스, 성능 튜닝 Spring, MyBatis, Netty 소스 코드 분석이 포함된 그룹 채팅에 참여하세요. 지식 포인트 설명 [Java Architect 자원 공유 그룹](그룹 번호 142019080), 링크를 클릭하여 그룹에 직접 가입하세요. https://jq.qq.com/?_wv=1027&k=5lXBNZ7
위 내용은 Java에서 float를 long 또는 int로 변환하는 방법은 무엇입니까? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!