当前位置:  技术问答>java相关

java的JTABLE列怎样设小数保留位和四舍五入。例如设为保留两位小数,回答了马上给分

    来源: 互联网  发布时间:2015-02-20

    本文导语:  java的JTABLE列怎样设小数保留位和四舍五入。例如设为保留两位小数,回答了马上给分 | 保留两位小数可以采用如下算法: double dbl = 3.3123143 Math.round(dbl*100)/100.00 | 有几种方...

java的JTABLE列怎样设小数保留位和四舍五入。例如设为保留两位小数,回答了马上给分

|
保留两位小数可以采用如下算法:
double dbl = 3.3123143
Math.round(dbl*100)/100.00

|
有几种方法都可实现
1。
import java.text.DecimalFormat;

String a = new DecimalFormat("###,###,###.##").format(100.515 );
//System.out.println("the a is:"+a); a=100.52

2.
import java.text.DecimalFormat;

private static DecimalFormat format = new DecimalFormat();

format.applyPattern("###,###.##");
String a = format.format(100.515);
//System.out.println("the a is:"+a); a=100.52

以上是简单的例子,我没有写全,不过你可以看出用法,也可根据需要,自己写个方法。
要是好用了,别忘给分。

|
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;

/**
 * @version 1.0 12/03/98
 */

class DecimalRenderer extends DefaultTableCellRenderer {
  DecimalFormat  formatter;
  
  DecimalRenderer(String pattern) {
    this(new DecimalFormat(pattern));
  }
  
  DecimalRenderer(DecimalFormat formatter) {
    this.formatter = formatter;
    setHorizontalAlignment(JLabel.RIGHT);
  }
  
  public void setValue(Object value) { 
    setText((value == null) ? ""
      : formatter.format(((Double)value).doubleValue())); 
  }
}

public class TotalRowExample extends JFrame {
  final private int TOTAL_ROW    = 3;
  final private int TOTAL_COLUMN = 1;

  TotalRowExample() {
    super( "Total Row Example" );

    final DecimalFormat formatter = new DecimalFormat("###,##0.00");
    DefaultTableModel dm = new DefaultTableModel() {
      public void setValueAt(Object value, int row, int col) {
        Vector rowVector = (Vector)dataVector.elementAt(row);
        if (col == TOTAL_COLUMN) {      
          Double d = null;
          if (value instanceof Double) {
            d = (Double)value;
          } else {
            try { 
              d = new Double(
                ((Number)formatter.parse((String)value)).doubleValue());
            } catch (ParseException ex) {
              d = new Double(0.0);
            }
          }
          rowVector.setElementAt(d, col);
        } else {
          rowVector.setElementAt(value, col);
        }
      }
      
      public boolean isCellEditable(int row, int col) {
        if (row == TOTAL_ROW) return false;
        return true;
      }  
          
      public Class getColumnClass(int col) {
        if (col == TOTAL_COLUMN) return Number.class;
        return String.class;
      }
    };
    
    dm.setDataVector(
      new Object[][]{
        {"coffee",new Double(0.0)},
        {"tea"   ,new Double(0.0)},
        {"cocoa" ,new Double(0.0)},
        {"total" ,new Double(0.0)}},
      new Object[]{"Item","Price"});
    
    JTable table = new JTable( dm ) {
      public void editingStopped(ChangeEvent e) {
        super.editingStopped(e);
        reCalcurate(getModel());
        repaint();
      }
    };
    
    table.getColumn("Price").setCellRenderer(
             new DecimalRenderer(formatter));
    
    JScrollPane scroll  = new JScrollPane(table);    
    Container content = getContentPane();
    content.add(scroll);  
    setSize( 300, 120 );
    setVisible(true);
  }
  
  private void reCalcurate(TableModel ml) {
    if (ml == null) return;
    double total = 0.0;
    for (int i=0;i

    
 
 

您可能感兴趣的文章:

  • java使double保留两位小数的多方法 java保留两位小数
  • 我是java新手,现在想把一个float型的整数部分和小数部分分别输出,但是小数部分总是要多出很多位,为什么?帮我看看,谢谢
  • java 四舍五入使java保留2位小数示例讲解
  • Java中如何将一个float数显示时指定小数点位数
  • java问题,请问有没有控制输出小数点后两位的函数?
  • 使用java代码实现保留小数点的位数
  • java 中有没有只取double的小数部分的方法
  • java小数位的例子
  • 请问,JAVA里有什么可以将一个数字截取到小数点后第二位后的函数么?谢谢
  • 在Java中如何确定浮点数的精度,例如如何按要求确定小数点后面的数字个数???
  • java中四舍五入
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • java中怎样实现四舍五入?高手过来啊,最高分啊
  • Java中有没有“四舍五入”的运算方法?
  • JAVA中有无系统提供的上取整,下取整,四舍五入的函数?
  • java的四舍五入问题(1.15是1.2;1.45就是1.4?)真是搞不懂,我用的是DecimalFormat的方式(在线等)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java的关键字与保留字小结
  • 兄弟我想换工作,还企盼网友推荐(看在我对java版热心参与,请版主保留几天)
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3