2011-09-08 31 views
1

我特林解析字符串來分析這樣一個浮點數:的Java解析浮動,且不會與指數

Float.parseFloat(value_.toString()); 

當我解析像一個串號:「13299802.60」, 我得到這樣的: 1.3299803E7

我想不一樣的指數符號的字符串的浮點數..

如何才能做到這一點?

感謝提前。

+3

你得到你解析什麼,你如何想象它是一個完全不同的故事 – bestsss

回答

1

使用這個代替

new java.lang.BigDecimal(value_.toString()); 

BigDecimal的是真正的十進制數字,而不是浮點數。的2(2張十進制數)的比例將保持

2

浮子的默認輸出格式是一定規模以上的科學記數法。

如果你想將其輸出到正常十進制,使用NumberFormat的以「#.00」格式字符串時,你打印出來。

1

浮子是32比特的比特和具有至多7個數字或精度。如果你想更精確,使用雙是64位,並且擁有高達準確的16位(實際上,總是使用雙或BigDecimal)的

String text = "13299802.60"; 
System.out.printf("As float %.2f%n", Float.parseFloat(text)); 
System.out.printf("As double %.2f%n", Double.parseDouble(text)); 
System.out.println("As BigDecimal "+ new BigDecimal(text)); 

打印

As float 13299803.00 
As double 13299802.60 
As BigDecimal 13299802.60