首页 数字格式化类[整理]

数字格式化类[整理]

举报
开通vip

数字格式化类[整理]数字格式化类[整理] 在JAVA中,对没有格式化的数据遵守以下原则: (1)如果数据绝对值大于0.001并且小于10000000,Java将以常规小数形式表示 (2)如果数据绝对值小于0.001或者大于10000000,使用科学计数法表示 格式化采用:DecimalFormat类进行格式化 import java.text.DecimalFormat; 常用的特殊字符的含义 字符 字符含义 0 代表阿拉伯数字,使用特殊字符“0”表示数字的一位阿拉伯数字,如果该位 不存在数字,则显示0 # 代表阿拉伯数字,使...

数字格式化类[整理]
数字格式化类[整理] 在JAVA中,对没有格式化的数据遵守以下原则: (1)如果数据绝对值大于0.001并且小于10000000,Java将以常规小数形式 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示 (2)如果数据绝对值小于0.001或者大于10000000,使用科学计数法表示 格式化采用:DecimalFormat类进行格式化 import java.text.DecimalFormat; 常用的特殊字符的含义 字符 字符含义 0 代表阿拉伯数字,使用特殊字符“0”表示数字的一位阿拉伯数字,如果该位 不存在数字,则显示0 # 代表阿拉伯数字,使用特殊字符“#”表示数字的一位阿拉伯数字,如果该位 存在数字,则显示字符;如果该位不存在数字,则不显示 . 小数分隔符或货币分隔符 - 负号 , 分组分隔符 E 分隔科学计数法中的尾数和指数 % 本符号放置在数字的前面或后缀,将数字乘以100显示为百分数 \u2030 本符号放置在数字的前面或后缀,将数字乘以1000显示为千分数 ?\u00A4 本符号放置在数字的前面或后缀,作为货币记号 ‘ 本符号为单引号,当上述特殊字符出现在数字中,应为特殊符号添加单引号, 系统会将此符号视为普通字符处理 示例: //package com.lzw; package edu.date; import java.awt.BorderLayout; import java.awt.Color; import java.awt.EventQueue; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.border.LineBorder; public class NumberFormateDemo extends JFrame { private JTextArea infoArea; private JTextField numberField; public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { try { NumberFormateDemo frame = new NumberFormateDemo(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * 创建窗体的构造方法 */ public NumberFormateDemo() { super(); final BorderLayout borderLayout = new BorderLayout(10,10); getContentPane().setLayout(borderLayout); setBounds(100, 100, 348, 225); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); getContentPane().add(panel, BorderLayout.NORTH); final JLabel label = new JLabel(); label.setText("请输入要格式化的数字:"); panel.add(label, BorderLayout.WEST); numberField = new JTextField(); // 创建数字文本框 numberField.setText("123456789.25"); // 演示数字 panel.add(numberField); final JButton button = new JButton(); // 创建确定按钮 button.addActionListener(new ActionListener() { // 添加事件监听器 public void actionPerformed(final ActionEvent e) { do_button_actionPerformed(e); } }); button.setText("确定"); panel.add(button, BorderLayout.EAST); infoArea = new JTextArea(); // 创建文本域组件 infoArea.setFont(new Font("宋体", Font.PLAIN, 15)); // 设置字体 infoArea.setBorder(new LineBorder(Color.black, 1, false)); infoArea.setEditable(false); // 禁止编辑 getContentPane().add(infoArea); } /** * 确定按钮的事件处理方法 * @param e 动作事件 */ protected void do_button_actionPerformed(final ActionEvent e) { String text = numberField.getText(); if(text==null||text.isEmpty()){ // 如果没有输入数字 infoArea.setText("请输入数字"); // 显示提示信息 return; // 结束该方法 } double number=0; try { number = Double.parseDouble(text.trim()); // 字符串转换为数字 } catch (NumberFormatException e1) { infoArea.setText("请输入正确的数字"); // 显示提示信息 return; // 结束该方法 } infoArea.setText(""); DecimalFormat dmf=new DecimalFormat(); // 创建数字格式化对象 addRmbFormat(number, dmf); // 格式化为人民币格式 grouping3(number, dmf); // 3位分组 grouping4(number, dmf); // 4为分组 keep1_6(number, dmf); // 保留1至6为小数 keep6(number, dmf); // 强制保留6位小数 keep12Int(number, dmf); // 强制截取12位整数 percent(number, dmf); // 百分比格式输出 } /** * 百分比格式输出 * @param number 组字 * @param dmf 数字格式化对象 */ private void percent(double number, DecimalFormat dmf) { dmf.applyPattern("百分比:#.00,\n"); String numStr = dmf.format(number); infoArea.append(numStr); } /** * 强制截取12位整数 * @param number 组字 * @param dmf 数字格式化对象 */ private void keep12Int(double number, DecimalFormat dmf) { dmf.applyPattern("强制截取12位整数:000000000000\n"); String numStr = dmf.format(number); infoArea.append(numStr); } /** * 强制保留6位小数 * @param number 组字 * @param dmf 数字格式化对象 */ private void keep6(double number, DecimalFormat dmf) { String numStr; dmf.applyPattern("强制保留6位小数:#.000000\n"); numStr = dmf.format(number); infoArea.append(numStr); } /** * 保留1-6位小数 * @param number 组字 * @param dmf 数字格式化对象 */ private void keep1_6(double number, DecimalFormat dmf) { dmf.applyPattern("保留1-6位小数:#.######\n"); String numStr = dmf.format(number); infoArea.append(numStr); } /** * 按4为数字分组 * @param number 组字 * @param dmf 数字格式化对象 */ private void grouping4(double number, DecimalFormat dmf) { dmf.setGroupingUsed(true); dmf.setGroupingSize(4); String grouping4 = "按4为数字分组:" + dmf.format(number) + "\n"; infoArea.append(grouping4); dmf.setGroupingUsed(false); } /** * 按3为数字分组 * @param number 组字 * @param dmf 数字格式化对象 */ private void grouping3(double number, DecimalFormat dmf) { dmf.setGroupingUsed(true); dmf.setGroupingSize(3); dmf.applyPattern(""); String grouping3 = "按3为数字分组:" + dmf.format(number) + "\n"; infoArea.append(grouping3); dmf.setGroupingUsed(false); } /** * 人名币格式输出 * @param number 组字 * @param dmf 数字格式化对象 */ private void addRmbFormat(double number, DecimalFormat dmf) { dmf.applyPattern("人名币:,#.00元\n"); String RMB = dmf.format(number); infoArea.append(RMB); }
本文档为【数字格式化类[整理]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633808
暂无简介~
格式:doc
大小:47KB
软件:Word
页数:0
分类:初中语文
上传时间:2017-11-27
浏览量:10