数字格式化类.docx
- 文档编号:10435240
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:9
- 大小:49.86KB
数字格式化类.docx
《数字格式化类.docx》由会员分享,可在线阅读,更多相关《数字格式化类.docx(9页珍藏版)》请在冰豆网上搜索。
数字格式化类
在JAVA中,对没有格式化的数据遵守以下原则:
<1)如果数据绝对值大于0.001并且小于10000000,Java将以常规小数形式表示
<2)如果数据绝对值小于0.001或者大于10000000,使用科学计数法表示
格式化采用:
DecimalFormat类进行格式化importjava.text.DecimalFormat。
b5E2RGbCAP
常用的特殊字符的含义
字符
字符含义
0
代表阿拉伯数字,使用特殊字符“0”表示数字的一位阿拉伯数字,如果该位不存在数字,则显示0
#
代表阿拉伯数字,使用特殊字符“#”表示数字的一位阿拉伯数字,如果该位存在数字,则显示字符;如果该位不存在数字,则不显示
.
小数分隔符或货币分隔符
-
负号
分组分隔符
E
分隔科学计数法中的尾数和指数
%
本符号放置在数字的前面或后缀,将数字乘以100显示为百分数
\u2030
本符号放置在数字的前面或后缀,将数字乘以1000显示为千分数
¤\u00A4
本符号放置在数字的前面或后缀,作为货币记号
‘
本符号为单引号,当上述特殊字符出现在数字中,应为特殊符号添加单引号,系统会将此符号视为普通字符处理
示例:
//packagecom.lzw。
packageedu.date。
importjava.awt.BorderLayout。
importjava.awt.Color。
importjava.awt.EventQueue。
importjava.awt.Font。
importjava.awt.event.ActionEvent。
importjava.awt.event.ActionListener。
importjava.text.DecimalFormat。
importjavax.swing.JButton。
importjavax.swing.JFrame。
importjavax.swing.JLabel。
importjavax.swing.JPanel。
importjavax.swing.JTextArea。
importjavax.swing.JTextField。
importjavax.swing.border.LineBorder。
publicclassNumberFormateDemoextendsJFrame{
privateJTextAreainfoArea。
privateJTextFieldnumberField。
publicstaticvoidmain(Stringargs[]>{
EventQueue.invokeLater(newRunnable(>{
publicvoidrun(>{
try{
NumberFormateDemoframe=newNumberFormateDemo(>。
frame.setVisible(true>。
}catch(Exceptione>{
e.printStackTrace(>。
}
}
}>。
}
/**
*创建窗体的构造方法
*/
publicNumberFormateDemo(>{
super(>。
finalBorderLayoutborderLayout=newBorderLayout(10,10>。
p1EanqFDPw
getContentPane(>.setLayout(borderLayout>。
setBounds(100,100,348,225>。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE>。
finalJPanelpanel=newJPanel(>。
panel.setLayout(newBorderLayout(>>。
getContentPane(>.add(panel,BorderLayout.NORTH>。
finalJLabellabel=newJLabel(>。
label.setText("请输入要格式化的数字:
">。
panel.add(label,BorderLayout.WEST>。
numberField=newJTextField(>。
//创建数字文本框
numberField.setText("123456789.25">。
//演示数字
panel.add(numberField>。
finalJButtonbutton=newJButton(>。
//创建确定按钮
button.addActionListener(newActionListener(>{//添加事件监听器DXDiTa9E3d
publicvoidactionPerformed(finalActionEvente>{
do_button_actionPerformed(e>。
}
}>。
button.setText("确定">。
panel.add(button,BorderLayout.EAST>。
infoArea=newJTextArea(>。
//创建文本域组件
infoArea.setFont(newFont("宋体",Font.PLAIN,15>>。
//设置字体RTCrpUDGiT
infoArea.setBorder(newLineBorder(Color.black,1,false>>。
5PCzVD7HxA
infoArea.setEditable(false>。
//禁止编辑
getContentPane(>.add(infoArea>。
}
/**
*确定按钮的事件处理方法
*@parame动作事件
*/
protectedvoiddo_button_actionPerformed(finalActionEvente>{jLBHrnAILg
Stringtext=numberField.getText(>。
if(text==null||text.isEmpty(>>{//如果没有输入数字
infoArea.setText("请输入数字">。
//显示提示信息
return。
//结束该方法
}
doublenumber=0。
try{
number=Double.parseDouble(text.trim(>>。
//字符串转换为数字xHAQX74J0X
}catch(NumberFormatExceptione1>{
infoArea.setText("请输入正确的数字">。
//显示提示信息
return。
//结束该方法
}
infoArea.setText("">。
DecimalFormatdmf=newDecimalFormat(>。
//创建数字格式化对象LDAYtRyKfE
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>。
//百分比格式输出
}
/**
*百分比格式输出
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidpercent(doublenumber,DecimalFormatdmf>{Zzz6ZB2Ltk
dmf.applyPattern("百分比:
#.00%\n">。
StringnumStr=dmf.format(number>。
infoArea.append(numStr>。
}
/**
*强制截取12位整数
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidkeep12Int(doublenumber,DecimalFormatdmf>{dvzfvkwMI1
dmf.applyPattern("强制截取12位整数:
000000000000\n">。
StringnumStr=dmf.format(number>。
infoArea.append(numStr>。
}
/**
*强制保留6位小数
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidkeep6(doublenumber,DecimalFormatdmf>{rqyn14ZNXI
StringnumStr。
dmf.applyPattern("强制保留6位小数:
#.000000\n">。
numStr=dmf.format(number>。
infoArea.append(numStr>。
}
/**
*保留1-6位小数
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidkeep1_6(doublenumber,DecimalFormatdmf>{EmxvxOtOco
dmf.applyPattern("保留1-6位小数:
#.######\n">。
StringnumStr=dmf.format(number>。
infoArea.append(numStr>。
}
/**
*按4为数字分组
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidgrouping4(doublenumber,DecimalFormatdmf>{SixE2yXPq5
dmf.setGroupingUsed(true>。
dmf.setGroupingSize(4>。
Stringgrouping4="按4为数字分组:
"+dmf.format(number>+"\n"。
6ewMyirQFL
infoArea.append(grouping4>。
dmf.setGroupingUsed(false>。
}
/**
*按3为数字分组
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidgrouping3(doublenumber,DecimalFormatdmf>{kavU42VRUs
dmf.setGroupingUsed(true>。
dmf.setGroupingSize(3>。
dmf.applyPattern("">。
Stringgrouping3="按3为数字分组:
"+dmf.format(number>+"\n"。
y6v3ALoS89
infoArea.append(grouping3>。
dmf.setGroupingUsed(false>。
}
/**
*人名币格式输出
*@paramnumber组字
*@paramdmf数字格式化对象
*/
privatevoidaddRmbFormat(doublenumber,DecimalFormatdmf>{M2ub6vSTnP
dmf.applyPattern("人名币:
¥#.00元\n">。
StringRMB=dmf.format(number>。
infoArea.append(RMB>。
}
}
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 格式化