2021-05-16 C#.NET面试题 列举你知道的数字格式化转换

列举你知道的数字格式化转换

可使用“0”和“#”占位符进行补位。“0” 表示位数不够位数就补充“0”,小数部分如果位数多了则会四舍五入;“#”表示占位,用于辅助“0”进行补位。如下例:

            // “0”描述:占位符,如果可能,填充位
            Console.WriteLine(string.Format("{0:000000}", 1234)); // 结果:001234 
            // “#”描述:占位符,如果可能,填充位
            Console.WriteLine(string.Format("{0:######}", 1234));  // 结果:1234
            Console.WriteLine(string.Format("{0:#0####}", 1234));  // 结果:01234
            Console.WriteLine(string.Format("{0:0#0####}", 1234)); // 结果:0001234 
            // "."描述:小数点
            Console.WriteLine(string.Format("{0:000.000}", 1234));       // 结果:1234.000
            Console.WriteLine(string.Format("{0:000.000}", 4321.12543)); // 结果:4321.125

            // ","描述:千分表示
            Console.WriteLine(string.Format("{0:0,0}", 1234567));   //结果:1,234,567

            // "%"描述:格式化为百分数
            Console.WriteLine(string.Format("{0:0%}", 1234));        // 结果:123400%
            Console.WriteLine(string.Format("{0:#%}", 1234.125));   // 结果:123413%
            Console.WriteLine(string.Format("{0:0.00%}", 1234));     // 结果:123400.00%
            Console.WriteLine(string.Format("{0:#.00%}", 1234.125)); // 结果:123412.50%

内置快捷字母格式化用法

            // E-科学计数法表示
            Console.WriteLine((25000).ToString("E")); // 结果:2.500000E+004

            // C-货币表示,带有逗号分隔符,默认小数点后保留两位,四舍五入
            Console.WriteLine((2.5).ToString("C")); // 结果:¥2.50

            // D[length]-十进制数
            Console.WriteLine((25).ToString("D5")); // 结果:00025

            // F[precision]-浮点数,保留小数位数(四舍五入)
            Console.WriteLine((25).ToString("F2")); // 结果:25.00

            // G[digits]-常规,保留指定位数的有效数字,四舍五入
            Console.WriteLine((2.52).ToString("G2")); // 结果:2.5

            // N-带有逗号分隔符,默认小数点后保留两位,四舍五入
            Console.WriteLine((2500000).ToString("N")); // 结果:2,500,000.00

            // X-十六进制,非整型将产生格式异常
            Console.WriteLine((255).ToString("X")); // 结果

ToString 也可以自定义补零格式化:

            Console.WriteLine((15).ToString("000"));              // 结果:015
            Console.WriteLine((15).ToString("value is 0"));       // 结果:value is 15
            Console.WriteLine((10.456).ToString("0.00"));         // 结果:10.46
            Console.WriteLine((10.456).ToString("00"));           // 结果:10
            Console.WriteLine((10.456).ToString("value is 0.0")); // 结果:value is 10.5

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值