java BigDecimal 천 자리 구분자 추가,몇 자리 소수 유지
3956 단어 자바
1.DecimalFormat 클래스 를 사용 하면 String 형식 으로 돌아 갑 니 다.
반올림 모드 참조 DecimalFormat 의 수치 포맷 에 대한 반올림 문제-Rounding Mode
import static org.junit.Assert.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import org.junit.Test;
public class BigDecimalTest {
/**
* DecimalFormat String
*/
@Test
public void BigDecimalFormatTest() {
//0 ; # , 0
// ,
DecimalFormat df1 = new DecimalFormat("###0.00") ;
df1.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(df1.format(124.3));
System.out.println(df1.format(124.315)); //
System.out.println(df1.format(124.325)); //
// ,
DecimalFormat df2 = new DecimalFormat("###0.##") ;
System.out.println(df2.format(124.6));
System.out.println(df2.format(124));
// ,
DecimalFormat df3 = new DecimalFormat("000.00");
System.out.println(df3.format(24));
// , 3 , 0
DecimalFormat df4 = new DecimalFormat("#,##0.000");
System.out.println(df4.format(new BigDecimal(3613.61)));
System.out.println(df4.format(new BigDecimal(3613.613)));
System.out.println(df4.format(new BigDecimal(3613.6135)));
System.out.println(df4.format(new BigDecimal(3613.6136)));
}
}
2.BigDecimal.setScale()방법 을 사용 하면 BigDecimal 형식 으로 되 돌아 가지 만 String 형식 으로 다시 전환 할 수 있 습 니 다.
import static org.junit.Assert.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import org.junit.Test;
public class BigDecimalTest {
/**
* BigDecimal setScale()
*
*/
@Test
public void setBigDecimalScale(){
BigDecimal bd1 = new BigDecimal( 911.911);
BigDecimal bd2 = new BigDecimal( 911.91156);
bd1 = bd1.setScale(4, BigDecimal.ROUND_HALF_UP);
bd2 = bd2.setScale(4, BigDecimal.ROUND_HALF_UP);
System.out.println("bd1=="+bd1);
System.out.println("bd2=="+bd2);
// String 0
String str1 = bd1.setScale(4, BigDecimal.ROUND_HALF_UP).toString();
System.out.println("str1==="+str1);
// String 0
String str2 = new String(""+bd1.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
System.out.println("str1==="+str2);
}
}
3.BigDecimal 과 백분율 형식 상호 전환 참고 자바 백분율,BigDecimal 소수 상호 전환
import static org.junit.Assert.*;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import org.junit.Test;
public class BigDecimalTest{
@Test
public void percentTest(){
//BigDecimal
DecimalFormat df = new DecimalFormat("0.00%");
BigDecimal d=new BigDecimal(0.666);
String percent=df.format(d);
System.out.println("percent=="+percent);
// BigDecimal
percent=percent.replace("%","");
Float f = Float.valueOf(percent) / 100;
BigDecimal decimal = new BigDecimal(f);
System.out.println(decimal);//-0.66600000858306884765625
}
}
4.두 개의 BigDecimal 비교 크기 는 compare To()방법 으로 비교 한 결과-1,0,1 이 있 는데 각각 작 음,같 음,크 음 을 나타 낸다.
import static org.junit.Assert.*;
import java.math.BigDecimal;
import org.junit.Test;
public class BigDecimalTest {
@Test
public void testEqual(){
BigDecimal value1 = new BigDecimal(3.14);
BigDecimal value2 = new BigDecimal(3.20);
if(value1.compareTo(value2) == 0){
System.out.println("value1 = value2");
}
if(value1.compareTo(value2) == 1){
System.out.println("value1 > value2");
}
if(value1.compareTo(value2) == -1){
System.out.println("value1 < value2");
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.