当前位置: 首页 > news >正文

Golang | Leetcode Golang题解之第273题整数转换英文表示

题目:

题解:

var (singles   = []string{"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}teens     = []string{"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}tens      = []string{"", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"}thousands = []string{"", "Thousand", "Million", "Billion"}
)func numberToWords(num int) string {if num == 0 {return "Zero"}sb := &strings.Builder{}toEnglish := func(num int) {if num >= 100 {sb.WriteString(singles[num/100])sb.WriteString(" Hundred ")num %= 100}if num >= 20 {sb.WriteString(tens[num/10])sb.WriteByte(' ')num %= 10}if 0 < num && num < 10 {sb.WriteString(singles[num])sb.WriteByte(' ')} else if num >= 10 {sb.WriteString(teens[num-10])sb.WriteByte(' ')}}for i, unit := 3, int(1e9); i >= 0; i-- {if curNum := num / unit; curNum > 0 {num -= curNum * unittoEnglish(curNum)sb.WriteString(thousands[i])sb.WriteByte(' ')}unit /= 1000}return strings.TrimSpace(sb.String())
}
http://www.lryc.cn/news/407423.html

相关文章:

  • 使用C#手搓Word插件
  • WordPress主题追格企业官网主题免费开源版V1.1.6
  • uniapp引入自定义图标
  • pytorch-scheduler(调度器)
  • 防火墙与入侵检测系统(IDS/IPS)在现代网络安全中的关键角色
  • Python 之 os、open、json、pickle 模块的“疯狂”探险记
  • CTF-Web习题:2019强网杯 UPLOAD
  • Unity环境渲染与反射探针的深入探索
  • vue3 父组件 props 异步传值,子组件接收不到或接收错误
  • [C++]TinyWebServer
  • Uniswap价格批量查询与ws订阅行情
  • vue 实战 区域内小组件元素拖拽 示例
  • C++多线程编程中的锁详解
  • van-dialog 组件调用报错
  • 【Django】在vscode中运行调试Django项目(命令及图形方式)
  • 麦田物语第十三天
  • 【Git多人协作开发】不同的分支下的多人协作开发模式
  • Lua 复数计算器
  • 深入MySQL中的IF和IFNULL函数
  • AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理
  • Docker 搭建Elasticsearch详细步骤
  • mysql中提供的函数
  • 加速下载,揭秘Internet Download Manager2024下载器的威力!
  • oracle 宽表设计
  • winrar安装好后,鼠标右键没有弹出解压的选项
  • 数字图像处理笔记(一)---- 图像数字化与显示
  • Unity UGUI 之 事件接口
  • Hadoop、HDFS、MapReduce 大数据解决方案
  • Dubbo SPI 之负载均衡
  • 规范:前后端接口规范