Pab*_*ruz 22
是的,使用java.math.BigDecimal类.它可以非常精确地表示数字.
如果您只需要大整数,则可以使用java.math.BigInteger.
它们都扩展了java.math.Number.
如果您需要,您甚至可以使用现有的双打:
double d = 67.67;
BigDecimal bd = new BigDecimal(d);
Run Code Online (Sandbox Code Playgroud)
您可以使用JDBC从数据库中获取BigDecimal值:
ResultSet rs = st.executeQuery();
while(rs.next()) {
BigDecimal bd = rs.getBigDecimal("column_with_number");
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,由于Java不支持运算符重载,因此不能像在C#和decimal
类型中那样使用常规符号进行常见的数学运算.
您需要编写如下代码:
BigDecimal d1 = new BigDecimal(67.67);
BigDecimal d2 = new BigDecimal(67.68);
BidDecimal d3 = d1.add(d2); // d1 + d2 is invalid
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27030 次 |
最近记录: |