当前位置:   article > 正文

编写一段java程序,实现从控制台中读取一个数字,然后打印出这个数字四舍五入后对应的人民币大写汉字字符。例如: 输入:3000 输出:叁仟 输入:300.569 输出:三佰元五角七分...

输入数字输出大写的程序怎么写

以下是编写 Java 程序的示例代码:

``` import java.math.BigDecimal; import java.util.Scanner;

public class Main { public static void main(String[] args) { // 定义人民币大写汉字数组 String[] hanArr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; String[] unitArr = {"拾", "佰", "仟"};

  1. // 从控制台中读取输入
  2. Scanner scanner = new Scanner(System.in);
  3. System.out.print("请输入一个数字:");
  4. String numStr = scanner.nextLine();
  5. // 将输入的字符串转换为 BigDecimal 类型
  6. BigDecimal num = new BigDecimal(numStr);
  7. // 四舍五入,保留两位小数
  8. BigDecimal roundNum = num.setScale(2, BigDecimal.ROUND_HALF_UP);
  9. // 将四舍五入后的数字转换为字符串,用于解析数位
  10. String roundNumStr = roundNum.toString();
  11. // 定义一个 StringBuilder 类型的变量,用于拼接人民币大写汉字字符
  12. StringBuilder sb = new StringBuilder();
  13. // 循环遍历字符串的每一位数字
  14. for (int i = 0; i < roundNumStr.length(); i++) {
  15. // 获取字符串中的每一位数字
  16. char c = roundNumStr.charAt(i);
  17. // 如果是小数点,则直接拼接元
  18. if (c == '.') {
  19. sb.append("元");
  20. } else {
  21. // 将字符转换为数字
  22. int index = Integer.parseInt(String.valueOf(c));
  23. // 拼接人民币大写汉字字符
  24. sb.append(hanArr[index]);
  25. // 如果不是个位数,则拼接单位(拾、佰、仟)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/179592
推荐阅读
相关标签
  

闽ICP备14008679号