2017-07-24 39 views

回答

3

然後請不要使用float。在數據庫中使用number(10,5)(或者需要多個數字),在Java中使用BigDecimal

BigDecimal爲您提供了無限數量的數字,但在數據庫中存在限制。通常是38位數字(即通常就足夠了)。

+0

謝謝..但我不能改變固定的數據庫。 –

+2

然後,您不能在該列中精確地存儲「44.4」。您可以嘗試在使用「NumberFormat」進行顯示之前將其四捨五入。 – Thilo

+0

在數據庫中存儲任意精確值的一個選項是將它們存儲爲字符串並將其轉換爲/從BigDecimal轉換。儘管如此,您仍然無法在查詢中對它們執行數字操作。 – Raniz

1

field float(20,1)

您可以嘗試使用上面的變化。

讓它20,1

我曾試圖下同

create table abc(field float(20,1)); 
insert into abc value(44.4); 
select * from abc 

或者,如果你是無法改變的數據庫,然後用下面去查詢

select cast(field as decimal(10,1)) from abc;

在這裏,我哈哈d used CAST

它顯示了我的預期結果。