제가 전에,
1)
0.5, 1, 10, 9, 4000
뭐 이런 숫자의 경우는 그냥 저렇게 딱 값이 나왔으면 좋겠고,
2)
1.546875138123453 , 3.123459783 ,3543.124135435
뭐 이런경우엔, 소수 여섯째짜리까지만 나왔으면 좋겠고.
3)
1.1234567123456E3, 1234,234568737E7 뭐 이럴경우에는.. 소수 여섯째자리 수 까지만 나오고 지수형태로 표현하고 싶어요. 1.123456E3 , 1234,234568E7 이렇게요..
이렇게 질문을 올렸는데,
split 으로 .<<- 을 구분자로해서 .뒤에 길이가 6자리이상이면 substr로 6자리만 보여주게하고 만약 그 .뒤에 문자가있으면 지수나오게 해주면될거같은데요?
이런 답변을 받았습니다.
그래서 코딩을 해봤는데 오류가나서요ㅠㅠ
String result = String.format("%f", V);
String[] result1 = result.split(".");
if(result1[1].length()>=1 && result1[2].length() == 0) {
textView4.setText("V = " + result1[1] +V1);
}else if(result1[1].length()>=1 && result1[2].length()<5){
if(result1[2].contains("E")){
String[] resultV = result.split("E");
textView4.setText("V = " + result1[1] + "." + result1[2] + "E" + resultV + V1);
}else{
textView4.setText("V = " + result1[1] + "." + result1[2] + V1);
}
}else if(result1[1].length()>=1 && result1[2].length()>5){
if(result1[2].contains("E")){
String result2 = result1[2].substring(0,3);
String[] resultV = result.split("E");
textView4.setText("V = " + result1[1] + "." + result2 + "E" + resultV + V1);
}else{
String result2 = result1[2].substring(0,3);
textView4.setText("V = " + result1[1] + "." + result2 + V1);
}
}
01-25 15:43:30.408 20444-20444/? E/Zygote: MountEmulatedStorage()
01-25 15:43:30.408 20444-20444/? E/Zygote: v2
01-25 15:43:30.408 20444-20444/? I/libpersona: KNOX_SDCARD checking this for 10268
01-25 15:43:30.408 20444-20444/? I/libpersona: KNOX_SDCARD not a persona
01-25 15:43:30.418 20444-20444/? I/SELinux: Function: selinux_compare_spd_ram, SPD-policy is existed. and_ver=SEPF_SHV-E330K_4.4.2 ver=32
01-25 15:43:30.418 20444-20444/? I/SELinux: Function: selinux_compare_spd_ram , priority [2] , priority version is VE=SEPF_SHV-E330K_5.0.1-1_0032
01-25 15:43:30.418 20444-20444/? E/SELinux: [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL