Java金额中文转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import javax.swing.*;
import java.awt.*;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
public class MoneyJFrame extends JFrame implements CaretListener {
private JTextField jtx_1,jtx_2;
private MyJDialog jdialog;
public MoneyJFrame()
{
super("金额的中文大写形式");
this.setBounds(400, 300, 450, 100);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT));
this.getContentPane().add(new JLabel("金额"));
jtx_1=new JTextField(30);
jtx_1.setHorizontalAlignment(JTextField.RIGHT);
this.getContentPane().add(jtx_1);
jtx_1.addCaretListener(this);
this.getContentPane().add(new JLabel("中文大写形式"));
jtx_2=new JTextField(30);
jtx_2.setHorizontalAlignment(JTextField.RIGHT);
jtx_2.setEditable(false);
this.getContentPane().add(jtx_2);
jdialog=new MyJDialog(this);
this.setVisible(true);
}
private class MyJDialog extends JDialog
{
JFrame jframe;
JLabel jlabel;
MyJDialog(JFrame jframe)
{
super(jframe,"提示",true);
this.jframe=jframe;
this.setBounds(jframe.getX()+50,jframe.getY()+50 ,400,150);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
jlabel=new JLabel("",JLabel.CENTER);
this.getContentPane().add(jlabel);
}
void show(String str)
{
jlabel.setText(str);
jdialog.setVisible(true);
}
}
@Override
public void caretUpdate(CaretEvent e) {
// TODO Auto-generated method stub
try
{
double
x=Double.parseDouble(jtx_1.getText());
jtx_2.setText(zhuanHuan(x));
}
catch(NumberFormatException nfe)
{
jdialog.show("\""+jtx_1.getText()+"\""+"不能转换成浮点数,请重新输入!");
}
finally{}
}
private String zhuanHuan(double x)
{
String number ="零壹贰叁肆伍陆柒捌玖";
String money="亿仟佰拾万仟佰拾元角分";
int n=(int)Math.round(x*100-0.5);
int l=money.length()-1;
String result="";
while(n>0&&l>0)
{
result=""+number.charAt(n%10)+money.charAt(l)+re sult;
n=n/10;
l--;
}
return result;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MoneyJFrame();
}
}。