对不起这个noob问题,但我真的不知道要搜索什么以及如何解决它。我有一个像这样的表结构:
这只是我桌子的一部分。
budget_cost
有1000000000.1
字面
我试图获取值
while( result.next() )
{
ProjectBean projectBean = new ProjectBean();
...
projectBean.setBudgetCost( result.getDouble( "budget_cost" ) );
...
}
我的模型具有每个变量的setter和getter
public class ProjectBean
{
...
private double profitRate;
private double vatRate;
private double fees;
private double budgetCost;
private String dateDeadline;
...
}
我尝试打印budgetCost
并打印1.0E9
我需要它来显示1000000000.1
我做错了什么?
答案 0 :(得分:3)
解决您的问题:查看类java.lang.DecimalFormat
- 这将允许您为浮点值定义一些输出格式。
但是,将货币值存储在二进制浮点数类型(例如float
或double
)中通常是一个坏主意,因为一旦使用像这样的值,您将遇到舍入问题0.1
(十进制)。更好地使用类似java.math.BigDecimal
或(我更喜欢这样)的自定义类来存储内部使用ìnt
或long
以及某种比例的定点值。 / p>