开发者社区> 谙忆> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java---金额中文大小写实时转换小程序

简介: 本例演示一个String图形用户界面的完整应用程序,包括输入数据, 显示结果,响应事件以及异常处理。 输入一个实数表示金额,每次输入时显示该金额的中文大小写形式,运行窗口见最后。
+关注继续查看

本例演示一个String图形用户界面的完整应用程序,包括输入数据,
显示结果,响应事件以及异常处理。
输入一个实数表示金额,每次输入时显示该金额的中文大小写形式,运行窗口见最后。
在窗口中,“金额”文本行可编辑,作为数据输入编辑框:“中文大写形式”
文本仅显示结果,不可以编辑。金额文本行响应文本编辑事件。当输入数据
错误时,进行异常处理,弹出一个对话框,给出提示信息。
程序如下:

package cn.hncu.gui3;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Label;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;

public class MoneyJFrame extends JFrame implements CaretListener {
    JTextField tfdMonry,tfdStr; 
    public MoneyJFrame(String str) {
        super(str);
        this.setBounds(300, 240, 500, 140);//(  x位置, y位置  , 宽度,高度)
        //this.setBackground(java.awt.Color.red);
        this.getContentPane().setBackground(Color.white);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLayout(new FlowLayout(FlowLayout.RIGHT));

        Font font = new Font("a",Font.BOLD,20);
        JLabel lb = new JLabel("金额");
        lb.setFont(font);
        this.getContentPane().add(lb);
        tfdMonry = new JTextField("12345.67",20);
        tfdMonry.setFont(font);
        tfdMonry.setHorizontalAlignment(JTextField.RIGHT);
        this.getContentPane().add(tfdMonry);

        JLabel lb2 = new JLabel("中文大写形式");
        lb2.setFont(font);
        this.getContentPane().add(lb2);
        tfdStr = new JTextField(20);
        tfdStr.setFont(font);
        tfdStr.setHorizontalAlignment(JTextField.RIGHT);
        tfdStr.setEditable(false);//文本行设为只显示,不可编辑
        this.getContentPane().add(tfdStr);

        tfdMonry.addCaretListener(this);
        //注册文本编辑事件监听器
        this.setVisible(true);
    }
    @Override
    public void caretUpdate(CaretEvent e) {
//      System.out.println("kkk");
        String str = tfdMonry.getText();
        try {
            double x = Double.parseDouble(str);
            tfdStr.setText(RMBtoString(x));
        } catch (NumberFormatException e1) {
            JDialog dlg = new JDialog(this,true);
            dlg.setSize(300,80);

            dlg.add(new JLabel(str+"不能转换成浮点数,请重新输入!"));
            int lx = this.getX();
            int ly = this.getY();
            dlg.setLocation(lx+20, ly+20);
            dlg.setVisible(true);
        }

    }

    private String RMBtoString(double x) {
        String digit = "零壹贰叁肆伍陆柒捌玖";
        String yuan = "亿千百拾万千百拾元角分";

        String result = "";
        int y =(int )(x*100+0.5);
        int i =yuan.length()-1;
        while(y>0 && i>0){
            String str = ""+digit.charAt(y%10)+yuan.charAt(i);
            result = str + result;
            y=y/10;
            i--;
        }
        //System.out.println("result");
        return result;
    }

    public static void main(String[] args) {
        new MoneyJFrame("金额的中文大写形式");
    }
}

正常转换:

出异常处理:

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
java后台restTemplate生成二小程序维码,前端渲染
java后台restTemplate生成二小程序维码,前端渲染
0 0
Java小程序——简单五子棋(人机对战)
于某些原因,这里我给出的AI算法算是比较简单的,所以导致了电脑其实并没有很强,甚至你玩的多了还可以发现电脑的“致命缺点”,由于我只是借助这个项目来做一个java的入门练习,且我还在读研,所以本人并不准备对AI的算法进行改进。
0 0
Java小程序 —— 简单五子棋
看到好多后台留言问背景图片的问题,在这里统一补充一下:所有的图片都是读取的本地图片文件,图片文件可以去网上下载,有一大堆(记得调好长宽),代码中的路径只是当时我的电脑的图片路径,你们运行的时候记得修改
0 0
Java---基于TCP协议的相互即时通讯小程序
Java---基于TCP协议的相互即时通讯小程序
0 0
java---金额中文大小写实时转换小程序
java---金额中文大小写实时转换小程序
0 0
JAVA猜数字小程序,利用异常处理
JAVA猜数字小程序,利用异常处理
0 0
java商城源码(servlet,springboot,html,vue,uniapp,小程序,android)一套任意组合
java商城源码(servlet,springboot,html,vue,uniapp,小程序,android)一套任意组合,计算机毕业设计
0 0
团购Java小程序开发定制的功能?
相比微商城和微店,小程序入口更多,体验也更佳,相比App,小程序开发成本更低,可以说小程序就是社区团购的最佳拍档。
0 0
java商城推荐算法(含源码,小程序,vue,uniapp)
java商城推荐算法(含源码,小程序,vue,uniapp)
0 0
java拼团小程序源码(毕设)
java拼团小程序源码(毕设) 后台springboot
0 0
+关注
谙忆
GitHub: https://github.com/chenhaoxiang
文章
问答
文章排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载