zoukankan      html  css  js  c++  java
  • 正则|数字|Format

    * C#正则常用表达式

     1. string.Replce() 和 Regex.Replace()

    正则表达式规则

    //C#
    public String Replace(char oldChar, char newChar);
    public String Replace(String oldValue, String newValue);
    var reg2 = "kjfdkdj".Replace('d', '*'); //例子
    
    
    //System.Text.RegularExpressions.Regex
    public static string Replace(string input, string pattern, MatchEvaluator evaluator, RegexOptions options, TimeSpan matchTimeout);
    
    public static string Replace(string input, string pattern, string replacement, RegexOptions options, TimeSpan matchTimeout);
    
    var reg1 = Regex.Replace("ajkd12jfk2334",@"d", "*", RegexOptions.IgnoreCase); //例子
    View Code

    * string.Format()

    //1、字符串的数字格式
    string str1 =string.Format("{0:N1}",56789);               //result: 56,789.0
    string str2 =string.Format("{0:N2}",56789);               //result: 56,789.00
    string str3 =string.Format("{0:N3}",56789);               //result: 56,789.000
    string str8 =string.Format("{0:F1}",56789);               //result: 56789.0
    string str9 =string.Format("{0:F2}",56789);               //result: 56789.00
    string str11 =(56789 / 100.0).ToString("#.##");           //result: 567.89
    string str12 =(56789 / 100).ToString("#.##");             //result: 567
    
    
    //2、格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)
    string.Format("{0:C}",0.2)
     //结果为:¥0.20 (英文操作系统结果:$0.20)
    //默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数
    string.Format("{0:C1}",23.15)
    //结果为:¥23.2 (截取会自动四舍五入)
    
    
    //格式化多个Object实例
    string.Format("市场价:{0:C},优惠价{1:C}",23.15,19.82)
    
    
    //3、格式化十进制的数字(格式化成固定的位数,位数不能少于未格式化前,只支持整形)
    string.Format("{0:D3}",23) //结果为:023
    string.Format("{0:D2}",1223) //结果为:1223,(精度说明符指示结果字符串中所需的最少数字个数。)
      
    
    // 4、用分号隔开的数字,并指定小数点后的位数
    string.Format("{0:N}", 14200) //结果为:14,200.00 (默认为小数点后面两位)
    string.Format("{0:N3}", 14200.2458) //结果为:14,200.246 (自动四舍五入)
    
    //5、格式化百分比
    string.Format("{0:P}", 0.24583) //结果为:24.58% (默认保留百分的两位小数)
    string.Format("{0:P1}", 0.24583) //结果为:24.6% (自动四舍五入)
    
    
    //6、零占位符和数字占位符
    string.Format("{0:0000.00}", 12394.039) //结果为:12394.04
    string.Format("{0:0000.00}", 194.039) //结果为:0194.04
    string.Format("{0:###.##}", 12394.039) //结果为:12394.04
    string.Format("{0:####.#}", 194.039) //结果为:194
      
    //下面的这段说明比较难理解,多测试一下实际的应用就可以明白了。
    零占位符: 如果格式化的值在格式字符串中出现“0”的位置有一个数字,则此数字被复制到结果字符串中。小数点前最左边的“0”的位置和小数点后最右边的“0”的位置确定总在结果字符串中出现的数字范围。 “00”说明符使得值被舍入到小数点前最近的数字,其中零位总被舍去。
    数字占位符: 如果格式化的值在格式字符串中出现“#”的位置有一个数字,则此数字被复制到结果字符串中。否则,结果字符串中的此位置不存储任何值。
    请注意,如果“0”不是有效数字,此说明符永不显示“0”字符,即使“0”是字符串中唯一的数字。如果“0”是所显示的数字中的有效数字,则显示“0”字符。 “##”格式字符串使得值被舍入到小数点前最近的数字,其中零总被舍去。
    
    //7、日期格式化
    string.Format("{0:d}",System.DateTime.Now) //结果为:2009-3-20 (月份位置不是03)
    string.Format("{0:D}",System.DateTime.Now) //结果为:2009年3月20日
    string.Format("{0:f}",System.DateTime.Now) //结果为:2009年3月20日 15:37
     string.Format("{0:F}",System.DateTime.Now) //结果为:2009年3月20日 15:37:52
     string.Format("{0:g}",System.DateTime.Now) //结果为:2009-3-20 15:38
     string.Format("{0:G}",System.DateTime.Now) //结果为:2009-3-20 15:39:27
     string.Format("{0:m}",System.DateTime.Now) //结果为:3月20日
    string.Format("{0:t}",System.DateTime.Now) //结果为:15:41
     string.Format("{0:T}",System.DateTime.Now) //结果为:15:41:50
    View Code

    1、toString("N")

                int k = 12345678;
    //ToString(string format) 
                var s2 = k.ToString("N1");  //12,345,678.0 保留了一位小数 N 数字,以逗号分隔
                var c1 = 2.5.ToString("C"); //¥2.50  货币
                var d1 = 25.ToString("D5"); //00025  十进制
                var e1 = 25000.ToString("E"); //2.500000E+004  科学型
                var f1 = 252378473.ToString("F2"); //25.00  固定点,两位小数点,中间不用逗号分开
                var g1 = 2.5.ToString("G"); //2.5 常规
                var x1 = 255.ToString("X"); //FF  十六进制
    
                string dt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");  //大写HH为24小时制,小写hh为12小时制

    * 数值测试:

     1  #region 把字符串转换为数值
     2             //把string类型的转为int类型,并附一个默认值
     3             try
     4             {
     5                 var int1 = int.Parse("3.2" ?? "0"); //会抛出异常,前面一个必须是string类型
     6             }
     7             catch (Exception ex)
     8             {
     9             }
    10             var double2 = double.Parse("4" ?? "0.0");
    11 
    12             //返回bool类型,如果转换成功并返回成功的值;不抛出异常
    13             int int2 = 0;
    14             var flag = int.TryParse("3", out int2); 
    15             #endregion
    16 
    17 
    18             //保留2位小数,不四舍五入
    19             var a = Convert.ToDecimal((int)(0.018 * 100) / 100.00);
    20 
    21             var d = Math.Truncate(3.50034);//截取整数,返回时double类型
    22             var d2 = Math.Round(3.56734, 2);  //四舍五入
    23 
    24             //先要判断是否为null
    25             string c = null;
    26             string e = c != null ? c.Contains("*") + "不为空" : "为空";
    View Code

    * 时间格式化

     DateTime.ToString()的各种日期格式:

    ToString("yyyy-MM-dd HH:mm:ss.fff"));  2016-09-27 01:02:03.001   // fff 越多精度越高

    ToString("yyyy-MM-dd HH:mm:ss:ms")); 2016-09-27 01:02:03:234

    new DateTime(1900, 1, 1)  ; DateTime.MinValue;

    详细解释:

    1.y代表年份,注意是小写的y,大写的Y并不代表年份。

    2.M表示月份。

    3.d表示日期,注意D并不代表什么。

    4.h或H表示小时,h用的是12小时制,H用的是24小时制。

    5.m表示分钟。

    6.s表示秒。注意S并不代表什么。

    正斜杠 / 和反斜杠 的区别

    解释 
    1、” / ” 英文是forward slash, “ ” 是backward slash ; 形象些比喻的话,” / “是一个人站立着向前倾倒->, 而” “是一个人站立着向后倾倒。 
    2、“在绝大多数地方,用的都是 /(forward slash),包括Mac/Linux,也包括URL。你唯一需要记住的是,而Microsoft在自己的操作系统里面偏要用 (backslash),使得自己与众不同。

    历史背景: 
    1、Unix使用斜杠/作为路径分割符,而Web应用最先是使用在Unix系统上面,所以目前所有的网络地址都采用斜杠/作为分隔符。 
    2、Windows由于使用斜杠/作为DOS命令提示符的参数标志了,为了不混淆,所以采用反斜杠作为路径分隔符。所以目前windows系统上的文件浏览器都是用反斜杠作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用得很少,斜杠和反斜杠在大多数情况下可以互换,没有影响。(可以输入cmd命令符自行验证 “” 和”/”是否有区别)

    结论 
    1、浏览器地址栏网址使用 正斜杠/; 
    2、windows文件浏览器上使用 反斜杠; 
    3、出现在htm url()属性中的路径,指定的路径是网络路径,所以必须使用 正斜杠/; 

    <div style="background-image:url(/Image/Control/title.jpg); background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>
    // 如果url后面用反斜杠,就不会显示任何背景

    4、出现在普通字符串的路径,如果代表的是windows文件路径,则使用 正斜杠/和 反斜杠是一样的;如果代表的是网络文件路径,则必须使用 正斜杠/;

    <img src=".Image/Control/ding.jpg" /> // 本地文件路径,/ 和  是等效的
    <img src="./ImageControlcai.jpg" />
    <img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> // 网络文件路径,一定要使用 斜杆/

    相对路径和绝对路径:

    ./SRC/  这样写表示,当前目录中的SRC文件夹;

     ../SRC/  这样写表示,当前目录的上一层目录中SRC文件夹;

    /SRC/   这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)

    JavaScript:

    stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。

    1. javascript 把字符串中的反斜杠()替换成双斜杠(\)

    replace(/\/g,"\\");

    2.javascript 把字符串中的反斜杠()替换成斜杠(/)

    replace(/\/g,"/");

    3.javascript 把字符串中的斜杠(/)替换成反斜杠()

    replace(///g,"\");

  • 相关阅读:
    django学习第85天Django的Ajax
    django学习第84天Django常用字段和参数
    django学习第83天Django聚合查询.分组查询.FQ查询
    django学习第82天Django多表查询
    django学习第81天Django模板层2(单表查询.模块的导入和继承.静态文件配置)
    django学习第80天Django模板层1
    django学习第79天Django视图层
    Linux 内核文档翻译
    Linux设备模型——设备驱动模型和sysfs文件系统解读
    内核空间内存申请函数kmalloc kzalloc vmalloc的区别
  • 原文地址:https://www.cnblogs.com/SmileSunday/p/9103467.html
Copyright © 2011-2022 走看看