专栏首页一路走一路失去也一路拥有C#将数字转成 'K'结尾的字符串具体实现代码

C#将数字转成 'K'结尾的字符串具体实现代码

不知不觉,博客已经稳定运行有一年之久了

在某篇博客查阅量超一千时,长度会过长,不美观

我在网上找方法转换,找到一个“Dart”语言写的数字转换带单位的字符串

链接:https://www.cnblogs.com/teemwu/p/12640349.html

我用C#代码翻译了一遍然后进行小小优化,就实现了,下面直接上代码

        /// <summary>
        /// 格式
        /// </summary>
        public class Format
        {
            /// <summary>
            /// 数据临界点
            /// </summary>
            public double value { get; set; }
            /// <summary>
            /// 标志、单位
            /// </summary>
            public string symbol { get; set; }
        }
        /// <summary>
        /// 数字转换
        /// </summary>
        /// <param name="Num">数据</param>
        /// <param name="Length">保留小数点后几位</param>
        /// <returns>转换好的数据</returns>
        public static string NumChange(int Num, int Length)
        {
            try
            {
                //初始化数据
                List<Format> numDatas = new List<Format>() {
                new Format() {value=1,symbol="" },
                new Format() {value=1e2,symbol="H" },
                new Format() {value=1e3,symbol="K" },
                new Format() {value=1e6,symbol="M" },
                new Format() {value=1e9,symbol="G" },
                new Format() {value=1e12,symbol="T" },
                new Format() {value=1e15,symbol="P" },
                new Format() {value=1e18,symbol="E" }};
                int i = 0;
                for (i = numDatas.Count - 1; i > 0; i--)
                {
                    if (Num >= numDatas[i].value)
                    {
                        break;
                    }
                }
                return Math.Round(Num / numDatas[i].value, Length) + numDatas[i].symbol;
            }
            catch (Exception ex)
            {
                Console.WriteLine("数字转换异常:" + ex.Message);
            }
            return null;
        }
调用:Console.WriteLine(NumChange(9999, 2));
结果:100K

单位详解如下(其实也可以自己定单位)

简简单单,记得点赞分享哦

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串“abcdefg“和数字2,该函数将返回左旋转两位得到的结果“cdefgab“

    By CaesarChang 有问题联系邮箱 root121toor@gmail.com

    CaesarChang张旭
  • [PHP] 算法-将一个字符串转换成一个整数的PHP实现

    陶士涵
  • c语言基础学习05_数组和字符串

    ============================================================================= 涉及...

    黑泽君
  • 11.python for循环

    在python开发中,除了前篇文章介绍的while循环还有一个for循环也经常使用,两者使用都是大同小异,for循环的使用相对于while循环更加灵活,下面我们...

    猿说编程[Python和C]
  • 面试必备:高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 字符串处理+动态规划 合集!

    秋招接近尾声,我总结了 牛客、WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对...

    圆号本昊
  • 我的python学习--第三天

        2、后面跟上for循环,可以有多个for循环,也可以在for循环后面再加个if条件

    py3study
  • 【西法带你学算法】一次搞定前缀和

    我花了几天时间,从力扣中精选了五道相同思想的题目,来帮助大家解套,如果觉得文章对你有用,记得点赞分享,让我看到你的认可,有动力继续做下去。

    lucifer210
  • python2与python3的区别

    说明:标注?????是暂时没遇到且看不懂的,做个标记。常见的区别有print,range,open,模块改名,input,整除/,异常 except A as ...

    py3study
  • kmp算法由浅入深:一行代码引发的无限思考

    KMP算法是Knuth-Morris-Pratt字符串查找算法,以创作者们的名字首个大写字母命名,用于处理字符串查找问题。

    ACM算法日常
  • 【Linux】学习笔记(十二) Linux 管道

    通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看。

    韩旭051
  • 正则表达式入门 — 一个通过例子来说明的备忘单

    正则表达式(regex 或 regexp)在通过搜索特定搜索模式的一个或多个匹配(即 ASCII 或 unicode 字符的特定序列)从任何文本中提取信息时非常...

    madneal
  • 简单密码学总结1.0

    摩尔斯电码由两种基本信号组成:短促的点信号“&middot;”,读“滴”;保持一定时间的长信号“—”,读“嗒”。间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符...

    天钧
  • Python学习笔记整理(四)Pytho

    字符串是一个有序的字符集合,用于存储和表现基于文本的信息。 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3=""...

    py3study
  • 旋转字符串算法由浅入深

    Author:bakari     Date:2012.9.8 昨天在写一个旋转字符串的函数时,写着写着发现有好多种方法,最简单的莫过于替换然后覆盖再插入。不要...

    猿大白
  • 【Python编程导论】第五章- 结构化类型、可变性与高阶函数

    元组:相对简单,是str的扩展,与字符串一样,是一些元素的不可变有序序列。与字符串的区别是,元组(tuple)中的元素不一定是字符,其中的单个元素可以是任意类型...

    Datawhale
  • 正则表达式杂记:入门笔记速查,进阶:组属性,vim magic 与练习场地

    本段及下段内容是 B站UP主free-coder 视频正则表达式-从入门到group入门[1]的笔记。阅读原文可以观看其视频。 强烈安利这位技术UP。

    Piper蛋窝
  • 每天都在用String,你真的了解吗?

    transient用于指定哪些字段不会被默认序列化,两者同时使用时,transient会被忽略。

    说故事的五公子
  • Python基础入门_2基础语法和变量类型

    Python 基础入门系列第二篇,上一篇简单介绍了为什么用 Python,以及安装和配置环境。

    kbsc13
  • python笔记day2

    name = {'name1':'Carrick','name2','Tina'}

    py3study

扫码关注云+社区

领取腾讯云代金券