DecimalFormat Spaghetti

时间:2014-08-08 18:52:25

标签: java decimalformat

第一次使用DecimalFormat类...

我需要为我的值存储4位小数精度。 让我告诉你到目前为止我做了什么。

public class Paper 
{
    public String name, color, type,finish,grain;
    public double width,height,gsm, lbs,ppi;
    public DecimalFormat df;


    public Paper() 
    {
        String pattern = "#0.0000";
        df = new DecimalFormat(pattern);

    }

    public void setWidthAndHeight(String width, String height) 
    {

       //I've censured what I tried so far.    
      ///I need to ensure that the passed width has 4 decimals and that it is stored that way. 

       this.width = //ENTER answer here! :)

    }

感谢您的时间和耐心。

1 个答案:

答案 0 :(得分:3)

您可以使用BigDecimal管理小数。

BigDecimal n = new BigDecimal("100.12345");
n = n.setScale(4, RoundingMode.HALF_UP);
n = n.stripTrailingZeros();
System.out.println(n.toPlainString());

使用scale会将数字四舍五入为4位小数。使用stripTrailingZeros删除任何零,并使用toPlainString稍后获取您的数字以进行打印。

http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html