题解 | #人民币转换#

人民币转换

https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

let numArr = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
let danArr = ["拾", "佰", "仟"];
let daArr = ["万", "亿"];
// 处理元的函数
function yuan (str) {
  let newStr = ''
  let newArr = []
  for (let i = str.length; i > 0; i -= 4) {
    newArr.unshift(str.substring(i - 4, i))
  }
  for (let i = 0; i < newArr.length; i++) {
    for (let j = 0; j < newArr[i].length; j++) {
      newStr += numArr[parseInt(newArr[i][j])]
      if (j == newArr[i].length - 2 && parseInt(newArr[i][j]) == 1) {
        newStr = newStr.substring(0, newStr.length - 1)
      }

      if (j != newArr[i].length - 1 && newArr[i][j] != '0') {
        newStr += danArr[newArr[i].length - 2 - j]
      }
    }
    if (newStr.includes('零零零')) {
      newStr = newStr.replace('零零零', '')
    }
    if (newStr.includes('零零')) {
      newStr = newStr.replace('零零', '零')
    }
    if (newStr[newStr.length - 1] == '零') {
      newStr = newStr.substring(0, newStr.length - 1)
    }
    if (newArr[i].length == 2 && newStr[0] == '壹') {
      newStr = newStr.replace('壹', '')
    }
    if (i != newArr.length - 1) {
      newStr += daArr[newArr.length - 2 - i]
    }
  }
  return newStr
}
// 处理角和分的函数
function ling (str) {
  let newStr = ''
  if (str[0] !== '0') {
    newStr += numArr[parseInt(str[0])] + '角'
  }
  if (str[1] !== '0') {
    newStr += numArr[parseInt(str[1])] + '分'
  }
  return newStr
}

void (async function () {
  // Write your code here
  let line = await readline();
  let str = "人民币";
  let tokens = line.split(".");
  if (tokens[1] == "00") {
    str += yuan(tokens[0]) + "元整";
  } else {
    if (tokens[0] == "0") {
      str += yuan(tokens[0]) + ling(tokens[1]);
    } else {
      str += yuan(tokens[0]) + "元" + ling(tokens[1]);
    }
  }
  console.log(str);
})();

全部评论

相关推荐

2025-12-30 16:42
同济大学 C++
仁狂躁使者:哎呀,不用担心,我当时配环境配了两天,项目捋不清就问问导师能不能用ai,慢慢就清了,会好起来的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务