我有一個應用程序,它讀取SAS XPT文件,並將列值到ByteBuffer
,然後使用它getValue()
方法來獲得雙對象。現在我必須打印Double
小數點後最多12位有效數字。我找到了一個答案從這從中工作正常,但少數情況下如何雙輪到顯著位
BigDecimal bd = new BigDecimal(dblColumnData.doubleValue());
System.out.println(String.format("%."+15+"G", bd));
這裏給出,因爲在整數部分3位數字,小數點後必須有12顯著位。
案件它不工作是因爲從Double
創建BigDecimal
。如果我打印Double,那麼它包含小數點後12位以上的數字,並且使用上述方法正確回合。
所以我想如果我能得到類似的格式方法Double
的這本書能解決我的問題。
你真的意思是*重要的*數字嗎?即'123456.123456'包含12位有效數字,但只有6位小數。我懷疑你的意思是你需要12位小數? –
看起來像@EJP確信它是小數位:-) –
dblColumnData還有哪些其他方法?看起來您可能會以其他方式正確地將其轉換爲BigDecimal,而不會翻倍。 –