在Java中设置双精度值的小数点后2位
我从j表中得到值。我想在小数点后2位显示成本,不在小数点后2位显示数量
目前两种输出都有一个小数位(123.0)
如何解决这个问题
DecimalFormat df= new DecimalFormat("0.00");
int i = tableSale.getRowCount();
String id = (String) tableSale.getValueAt(i-1, 0);
String name = (String) tableSale.getValueAt(i-1, 1);
double dcost = (double) tableSale.getValueAt(i-1, 2);
double cst=Double.valueOf(df.format(dcost));//setting 2 decimal places
String cost = String.valueOf(cst);//converting double to string
double dqty = (double) tableSale.getValueAt(i-1, 3);
DecimalFormat dd=new DecimalFormat("0");
double qt = Double.valueOf(dd.format(dqty));
String qty = String.valueOf(dqty);//converting double to string
double ditemDiscount = (double) tableSale.getValueAt(i-1, 4);
String itemDiscount = String.valueOf(ditemDiscount);//converting double to string
double dgrossTotal = (double) tableSale.getValueAt(i-1, 5);
double gTotal=Double.valueOf(df.format(dgrossTotal));//setting 2 decimal places
String grossTotal = String.valueOf(gTotal);//converting double to string
# 1 楼答案
我想你可以用这个:
对于其余的两倍值
希望这有帮助
# 2 楼答案
# 3 楼答案
如果你想四舍五入到小数点后2位,你可以使用这个函数
这避免了格式化字符串的开销,这样您就可以分析它
你可以根据口味调整
factor
# 4 楼答案
试试看
两个小数点
及
String.format("%.0f", 123.0)
//没有小数点输出:
# 5 楼答案
至于费用,我建议不要加倍。使用BigDecimal
至于格式:
String.format("%.2d", dcost);
和String.format("%.0d", qty);
可以使用