2016-10-21 68 views
-3

一些我有這個字符串:轉換字符串超過20位使用Java

0.023526112354180534 

我怎樣才能改變這個字符串,數字,也許更多的數字?我試過Double.parseDouble而不工作

編輯

你是對的。

I'm使得從Javascript打電話,我的電話是:

url : "/myapp/data/selectedCampaign/thermal/"+data 

數據= 0.023526112354180534

當我在春天進入這個方法

@RequestMapping(value = "/selectedCampaign/{type}/{evidenceValue}", method = RequestMethod.GET) 
    public @ResponseBody List<Double> getValues(@PathVariable("type") String type, 
      @PathVariable("evidenceValue") String evidenceValue) 

evidenceValue是0和我解析0

我仍然不知道爲什麼。 EDIT 2

我前往reolve這個問題:

Spring MVC @PathVariable with dot (.) is getting truncated

+1

你試過BigDecimal嗎? – rajadilipkolli

+0

'Double.parseDouble'似乎完美工作。你遇到了什麼問題? – Mureinik

回答

2

使用new BigDecimal("0.023526112354180534");

1
double d = Double.parseDouble("0.023526112354180534"); 
System.out.println(d); 

沒有問題的工作對我來說,至少不失精度

編輯:據我所知唯一的區別Double.parseDouble(String)和BigDecimal之間是精度,所以如果精度很重要,你應該使用BigDecimal

+1

幾乎任何超過16位數字的數字都不會在沒有精度損失的情況下工作。 – FredK

+0

@FredK你是對的^^我只是編輯評論 –

相關問題