-- Math.round()
(double) (Math.round(sd3*10000)/10000.0);
這樣為保持4位
(double) (Math.round(sd3*100)/100.0);
這樣為保持2位.
-- BigDecimal
//保留小數點後兩位小數
public double Number2(double pDouble)
{
BigDecimal bd=new BigDecimal(pDouble);
BigDecimal bd1=bd.setScale(2,bd.ROUND_HALF_UP);
pDouble=bd1.doubleValue();
long ll = Double.doubleToLongBits(pDouble);
return pDouble;
}
格式化輸出數字
-- NumberFormat
--java.text 包中的一些包可以處理這類問題。下面的簡單範例使用那些類解決上面提出的問題:
import java.text.NumberFormat;
import java.util.Locale;
public class DecimalFormat1 {
public static void main(String args[]) {
// 得到本地的預設格式
NumberFormat nf1 = NumberFormat.getInstance();
System.out.println(nf1.format(1234.56));
// 得到德國的格式
NumberFormat nf2 =
NumberFormat.getInstance(Locale.GERMAN);
System.out.println(nf2.format(1234.56));
-- DecimalFormat
import java.text.DecimalFormat;
public class DecimalFormat2 {
DecimalFormat df1 = new DecimalFormat("####.000");
System.out.println(df1.format(1234.56));
Locale.setDefault(Locale.GERMAN);
DecimalFormat df2 = new DecimalFormat("####.000");
System.out.println(df2.format(1234.56));
-- Math.round()
(double) (Math.round(sd3*10000)/10000.0);
這樣為保持4位
(double) (Math.round(sd3*100)/100.0);
這樣為保持2位.
-- BigDecimal
//保留小數點後兩位小數
public double Number2(double pDouble)
{
BigDecimal bd=new BigDecimal(pDouble);
BigDecimal bd1=bd.setScale(2,bd.ROUND_HALF_UP);
pDouble=bd1.doubleValue();
long ll = Double.doubleToLongBits(pDouble);
return pDouble;
}
格式化輸出數字
-- NumberFormat
--java.text 包中的一些包可以處理這類問題。下面的簡單範例使用那些類解決上面提出的問題:
import java.text.NumberFormat;
import java.util.Locale;
public class DecimalFormat1 {
public static void main(String args[]) {
// 得到本地的預設格式
NumberFormat nf1 = NumberFormat.getInstance();
System.out.println(nf1.format(1234.56));
// 得到德國的格式
NumberFormat nf2 =
NumberFormat.getInstance(Locale.GERMAN);
System.out.println(nf2.format(1234.56));
}
}
-- DecimalFormat
import java.text.DecimalFormat;
import java.util.Locale;
public class DecimalFormat2 {
public static void main(String args[]) {
// 得到本地的預設格式
DecimalFormat df1 = new DecimalFormat("####.000");
System.out.println(df1.format(1234.56));
// 得到德國的格式
Locale.setDefault(Locale.GERMAN);
DecimalFormat df2 = new DecimalFormat("####.000");
System.out.println(df2.format(1234.56));
}
}