欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

将 Kotlin 中的金额从小写转换为大写

最编程 2024-08-07 17:08:54
...
import java.util.Scanner fun formatMoney(arg: Long): String { var num = arg var reversed = 0L //将输入的数字进行翻转 while (num != 0L) { val digit = num % 10L reversed = reversed * 10L + digit num /= 10L } var str = reversed.toString().toCharArray() var arr = arrayOf('园', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万', '拾', '佰', '仟') var out_num = "" //小写替换成大写 for ((ind, e) in str.withIndex()) { var temp = "" when (e) { '0' -> temp = "零" '1' -> temp = "壹" '2' -> temp = "贰" '3' -> temp = "叁" '4' -> temp = "肆" '5' -> temp = "伍" '6' -> temp = "陆" '7' -> temp = "柒" '8' -> temp = "捌" '9' -> temp = "玖" } out_num = temp + arr[ind + 1] + out_num // println(e) } // println(out_num) var result = out_num for (i in 0 until str.size) { result = result.replace("零拾", "零") .replace("零佰", "零") .replace("零仟", "零") .replace("零万", "万") .replace("零亿", "亿") .replace("零零", "零") .replace("零元", "元") .replace("元零", "元") .replace("亿万", "亿") } return result + "元整" } fun main() { val read = Scanner(System.`in`) System.out.println("请输入您想要转化的数字:"); val nextLong = read.nextLong() if (nextLong != 0L) { System.out.println("转换结果为:" + formatMoney(nextLong)); }; }

推荐阅读