小数位超过2位报错
public AmountToChineseConverter() {
// 设置窗口标题和大小
setTitle("金额转换为大写汉字");
setSize(400, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE); // 关闭窗口时退出程序
setLocationRelativeTo(null); // 窗口居中显示
// 创建组件
inputField = new JTextField(15); // 创建一个文本框,宽度为15个字符
JButton convertButton = new JButton("转换"); // 创建一个按钮
resultLabel = new JLabel("结果:"); // 创建一个标签用于显示结果
// 添加事件监听器,当按钮被点击时执行以下代码
convertButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = inputField.getText(); // 获取用户输入的文本
try {
// 检查输入是否符合格式(正整数或最多两位小数)
if (input.matches("\\d+(\\.\\d{1,2})?")) {
double amount = Double.parseDouble(input); // 将输入转换为double类型
String result = convertToChinese(amount); // 调用转换方法
resultLabel.setText("结果:" + result); // 显示结果
} else {
showErrorDialog("请输入有效的数字金额,最多保留两位小数"); // 弹出错误对话框
}
} catch (NumberFormatException ex) {
showErrorDialog("请输入有效的数字金额"); // 弹出错误对话框
}
}
});