zoukankan      html  css  js  c++  java
  • DevExpress DisplayFormat格式化操作

     1     public class MyExamFormat : IFormatProvider, ICustomFormatter
     2         {
     3             public string NumberToChinese(int num)
     4             {
     5                 string numStr = "0123456789";
     6                 string chineseStr = "零一二三四五六七八九";
     7                 if (num >= 0 && num <= 9) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString(); }
     8                 else if (num >= 10 && num <= 19) { if (num == 10) { return ""; } return "" + chineseStr[numStr.IndexOf(num.ToString()[1])].ToString(); }
     9                 else if (num >= 20 && num <= 99)
    10                 {
    11                     if (num % 10 == 0) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + ""; }
    12                     else return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + "" + chineseStr[numStr.IndexOf(num.ToString()[1])].ToString();
    13                 }
    14                 else if (num >= 100 && num <= 999)
    15                 {
    16                     if (num % 100 == 0) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + ""; }
    17                     else return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + "" +
    18                       ((int.Parse(num.ToString().Substring(1).ToString()).ToString().Length != (num.ToString().Length - 1)) ?
    19                          "" + NumberToChinese(int.Parse(num.ToString().Substring(1)))
    20                         : NumberToChinese(int.Parse(num.ToString().Substring(1))));
    21                 }
    22                 else if (num >= 1000 && num <= 9999)
    23                 {
    24                     if (num % 1000 == 0) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + ""; }
    25                     else return
    26                          chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + "" +
    27                       ((int.Parse(num.ToString().Substring(1).ToString()).ToString().Length != (num.ToString().Length - 1)) ?
    28                          "" + NumberToChinese(int.Parse(num.ToString().Substring(1)))
    29                         : NumberToChinese(int.Parse(num.ToString().Substring(1))));
    30                 }
    31                 return num.ToString();
    32             }
    33 
    34             public object GetFormat(Type formatType)
    35             {
    36                 if (formatType == typeof(ICustomFormatter))
    37                 {
    38                     return this;
    39                 }
    40                 else return null;
    41             }
    42 
    43             public string Format(string format, object arg, IFormatProvider formatProvider)
    44             {
    45                 return "" + NumberToChinese(int.Parse(arg + "")) + "";
    46             }
    47         }
  • 相关阅读:
    win7 删除Windows服务的方法
    如何对SQL Server 2005进行设置以允许远程连接(转载)
    MySql实现远程连接
    OpenCV训练分类器制作xml文档
    Ms SQL Server 约束和规则
    PowerDesigner实用技巧小结(4)
    企业级技术解决方案:hbase+es
    ES的聚合操作
    es之过滤器
    es之得分(加权)
  • 原文地址:https://www.cnblogs.com/flay/p/13272177.html
Copyright © 2011-2022 走看看