北京网站维护网站pc转移动端代码

diannao/2026/1/18 13:02:57/文章来源:
北京网站维护,网站pc转移动端代码,湛江seo推广公司,用thinkphp做的网站From: http://hi.baidu.com/anxing_space/blog/item/6b31186dd6d1d7f942169468.html 今天在博客园上看到一片超赞的C#字符串格式的文章#xff0c;是我看过最好的一个关于字符格式的文章#xff0c;转来收藏#xff0c;顺便向原作者flyingbread表示感谢和尊敬#xff01; 1…From: http://hi.baidu.com/anxing_space/blog/item/6b31186dd6d1d7f942169468.html 今天在博客园上看到一片超赞的C#字符串格式的文章是我看过最好的一个关于字符格式的文章转来收藏顺便向原作者flyingbread表示感谢和尊敬 1 前言 如果你熟悉Microsoft Foundation ClassesMFC的CStringWindows Template LibraryWTL的CString或者Standard Template LibrarySTL的字符串类那么你对String.Format方法肯定很熟悉。在C#中也经常使用这个方法来格式化字符串比如下面这样 int x 16; decimal y 3.57m; string h String.Format( item {0} sells at {1:C}, x, y ); Console.WriteLine(h); 在我的机器上可以得到下面的输出 item 16 sells at 3.57 也许你的机器上的输出和这个不太一样。这是正常的本文稍后就会解释这个问题。 在我们日常使用中更多的是使用Console.WriteLine方法来输出一个字符串。其实String.Format和Console.WriteLine有很多共同点。两个方法都有很多重载的格式并且采用无固定参数的对象数组作为最后一个参数。下面的两个语句会产生同样的输出。 Console.WriteLine( Hello {0} {1} {2} {3} {4} {5} {6} {7} {8}, 123, 45.67, true, Q, 4, 5, 6, 7, 8); string u String.Format(Hello {0} {1} {2} {3} {4} {5} {6} {7} {8}, 123, 45.67, true, Q, 4, 5, 6, 7, 8); Console.WriteLine(u); 输出如下 Hello 123 45.67 True Q 4 5 6 7 8 Hello 123 45.67 True Q 4 5 6 7 8 2 字符串格式 String.Format和WriteLine都遵守同样的格式化规则。格式化的格式如下{ N [, M ][: formatString ]}, arg1, ... argN在这个格式中 1 N是从0开始的整数表示要格式化的参数的个数 2 M是一个可选的整数表示格式化后的参数所占的宽度如果M是负数那么格式化后的值就是左对齐的如果M是正数那么格式化后的值是右对齐的 3 formatString是另外一个可选的参数表示格式代码 argN表示要格式化的表达式和N是对应的。 如果argN是空值那么就用一个空字符串来代替。如果没有formatString那么就用参数N对应的ToString方法来格式化。下面的语句会产生同样的输出: public class TestConsoleApp {      public static void Main(string[] args)      {          Console.WriteLine(123);          Console.WriteLine({0}, 123);          Console.WriteLine({0:D3}, 123);      } } 输出是 123 123 123 也可以通过String.Format得到同样的输出。 string s string.Format(123); string t string.Format({0}, 123); string u string.Format({0:D3}, 123); Console.WriteLine(s); Console.WriteLine(t); Console.WriteLine(u); 因此有如下结论 ,M决定了格式化字符串的宽度和对齐方向 :formatString决定了如何格式化数据比如用货币符号科学计数法或者16进制。就像下面这样 Console.WriteLine({0,5} {1,5}, 123, 456);       // 右对齐 Console.WriteLine({0,-5} {1,-5}, 123, 456);     // 左对齐 输出是 123    456 123    456 也可以合并这些表达式先放一个逗号再放一个冒号。就像这样 Console.WriteLine({0,-10:D6} {1,-10:D6}, 123, 456); 输出是 000123      000456 我们可以用这种格式化特性来对齐我们的输出。 Console.WriteLine(\n{0,-10}{1,-3}, Name,Salary); Console.WriteLine(----------------); Console.WriteLine({0,-10}{1,6}, Bill, 123456); Console.WriteLine({0,-10}{1,6}, Polly, 7890); 输出是 Name       Salary ---------------- Bill       123456 Polly        7890 3 格式化标识符 标准的数学格式字符串用于返回通常使用的字符串。它们通常象X0这样的格式。X是格式化标识符0是精度标识符。格式标识符号共有9种它们代表了大多数常用的数字格式。就像下表所示 字母   含义  C或c Currency 货币格式  D或d Decimal 十进制格式十进制整数不要和.Net的Decimal数据类型混淆了  E或e Exponent 指数格式  F或f Fixed point 固定精度格式  G或g General 常用格式  N或n 用逗号分割千位的数字比如1234将会被变成1,234  P或p Percentage 百分符号格式  R或r Round-trip   圆整只用于浮点数保证一个数字被转化成字符串以后可以再被转回成同样的数字  X或x Hex 16进制格式 如果我们使用下面的表达方式让我们看看会发生什么 public class FormatSpecApp {      public static void Main(string[] args)      {          int i 123456;          Console.WriteLine({0:C}, i); // 123,456.00          Console.WriteLine({0:D}, i); // 123456          Console.WriteLine({0:E}, i); // 1.234560E005          Console.WriteLine({0:F}, i); // 123456.00          Console.WriteLine({0:G}, i); // 123456          Console.WriteLine({0:N}, i); // 123,456.00          Console.WriteLine({0:P}, i); // 12,345,600.00 %          Console.WriteLine({0:X}, i); // 1E240      } } 精度控制标识控制了有效数字的个数或者十进制数小数的位数。 Console.WriteLine({0:C5}, i); // 123,456.00 Console.WriteLine({0:D5}, i); // 123456 Console.WriteLine({0:E5}, i); // 1.23456E005 Console.WriteLine({0:F5}, i); // 123456.00000 Console.WriteLine({0:G5}, i); // 1.23456E5 Console.WriteLine({0:N5}, i); // 123,456.00000 Console.WriteLine({0:P5}, i); // 12,345,600.00000 % Console.WriteLine({0:X5}, i); // 1E240 R圆整格式仅仅对浮点数有效。这个值首先会用通用格式来格式化。对于双精度数有15位精度对于单精度数有7位精度。如果这个值可以被正确地解析回原始的数字就会用通用格式符来格式化。如果不能解析回去的话那么就会用17位精度来格式化双精度数用9位精度来格式化单精度数。尽管我们可以在圆整标识符后面添加有效数字的位数但是它会被忽略掉。 double d 1.2345678901234567890; Console.WriteLine(Floating-Point:\t{0:F16}, d);   // 1.2345678901234600 Console.WriteLine(Roundtrip:\t{0:R16}, d);        // 1.2345678901234567 如果标准格式化标识符还不能满足你。你可以使用图形化格式字符串来创建定制的字符串输出。图形化格式化使用占位符来表示最小位数 最大位数定位符号负号的外观以及其它数字符号的外观。就像下表所示 符号 名称 含义  0 0占位符 用0填充不足的位数  # 数字占位符 用#代替实际的位数  . 十进制小数点   , 千位分隔符 用逗号进行千位分割比如把1000分割成1,000  % 百分符号 显示一个百分标识  E0 E-0 e0 e-0 指数符号 用指数符号格式化输出  \ 专一字符 用于传统格式的格式化序列比如\n新行  ABC ABC 常量字符串   显示单引号或者双引号里面的字符串  ; 区域分隔符   如果数字会被格式化成整数负数或者0用;来进行分隔  ,. 缩放符号 数字除以1000 看下面的例子 double i 123456.42;              Console.WriteLine();              Console.WriteLine({0:000000.00}, i); //123456.42              Console.WriteLine({0:00.00000000e0}, i); //12.34564200e4              Console.WriteLine({0:0,.}, i);           //123              Console.WriteLine({0:#0.000}, i);              // 123456.420              Console.WriteLine({0:#0.000;(#0.000)}, i);         // 123456.420              Console.WriteLine({0:#0.000;(#0.000);zero}, i); // 123456.420              Console.WriteLine({0:#%}, i);      // 12345642% i -123456.42;              Console.WriteLine();              Console.WriteLine({0:000000.00}, i); //-123456.42              Console.WriteLine({0:00.00000000e0}, i); //-12.34564200e4              Console.WriteLine({0:0,.}, i);           //-123              Console.WriteLine({0:#0.000}, i);              // -123456.420              Console.WriteLine({0:#0.000;(#0.000)}, i);         // (123456.420)              Console.WriteLine({0:#0;(#0);zero}, i); // (123456)              Console.WriteLine({0:#%}, i);              // -12345642% i 0;              Console.WriteLine();              Console.WriteLine({0:0,.}, i);           //0              Console.WriteLine({0:#0}, i);              // 0              Console.WriteLine({0:#0;(#0)}, i);         // 0              Console.WriteLine({0:#0;(#0);zero}, i); // zero              Console.WriteLine({0:#%}, i);              // % 4 数字字符串的解析 所有的基础类型都有ToString方法它是从object类型中继承过来的。所有的数值类型都有Parse方法它用字符串为参数并且返回相等的数值。比如 public class NumParsingApp {      public static void Main(string[] args)      {          int i int.Parse(12345);          Console.WriteLine(i {0}, i); int j Int32.Parse(12345);          Console.WriteLine(j {0}, j); double d Double.Parse(1.2345E6);          Console.WriteLine(d {0:F}, d); string s i.ToString();          Console.WriteLine(s {0}, s);      } } 输出如下 i 12345 j 12345 d 1234500.00 s 12345 在缺省状况下某些非数字字符是可以存在的。比如开头和结尾的空白。逗号和小数点加号和减号因此下面的Parse语句是一样的 string t    -1,234,567.890   ; //double g double.Parse(t);         // 和下面的代码干同样的事情 double g double.Parse(t,       NumberStyles.AllowLeadingSign |       NumberStyles.AllowDecimalPoint |      NumberStyles.AllowThousands |      NumberStyles.AllowLeadingWhite |       NumberStyles.AllowTrailingWhite); Console.WriteLine(g {0:F}, g); 输出都是这样 g -1234567.89 注意到如果你要使用NumberStyles就要添加对System.Globalization的引用然后就可以使用不同NumberStyles的组合或者其中的任意一种。如果你想兼容货币符号就需要使用重载的Parse方法它们采用了NumberFormatInfo对象作为一个参数然后你可以设置NumberFormatInfo的CurrencySymbol属性来调用Parse方法比如 string u    -1,234,567.890   ; NumberFormatInfo ni new NumberFormatInfo(); ni.CurrencySymbol ; double h Double.Parse(u, NumberStyles.Any, ni); Console.WriteLine(h {0:F}, h); 上面的代码有如下输出 h -1234567.89 除了NumberFormatInfo还可以使用CultureInfo类。CultureInfo代表了某种特定的文化包括文化的名字书写的方式日历的格式。对于某种特定文化的操作是非常普遍的情况比如格式化日期和排序。文化的命名方式遵从RFC1766标准使用语言代码2-国家/地区码2的方式其中的语言代码2是两个小写的字母它们来自ISO639-1国家/地区码2是两个大写字母它们来自ISO3166。比如美国英语是“en-US。英国英语是en-GB。特立尼达和多巴哥英语是en-TT。例如我们可以创建一个美国英语的CultureInfo对象并且基于这种文化将数字转换成字符串。 int k 12345; CultureInfo us new CultureInfo(en-US); string v k.ToString(c, us); Console.WriteLine(v); 输出是 $12,345.00 要注意到我们使用了重载的ToString方法它把第一个格式化字符串当成第一个参数将一个CultureInfo对象执行了IFormatProvider对象作为第二个参数。这儿有第二个例子对于丹麦人来说 CultureInfo dk new CultureInfo(da-DK); string w k.ToString(c, dk); Console.WriteLine(w); 输出是 kr 12.345,00 5 字符串和日期 一个日期对象有个叫Ticks的属性。它存储了自从公元1年的1月1号上午12点开始的以100纳秒为间隔的时间。比如Ticks值等于31241376000000000L表示公元100年星期五1月1号上午12点这一时间。Ticks总是以100纳秒为间隔递增。 DateTime的值以存储在DateTimeFormatInfo实例里面的标准或者自定义的方式来表示。为了修改一个日期显示的方式DateTimeFormatInfo实例必须要是可写的以便我们写入自定义的格式并且存入属性中 using System.Globalization; public class DatesApp {      public static void Main(string[] args)      {          DateTime dt DateTime.Now;          Console.WriteLine(dt);          Console.WriteLine(date {0}, time {1}\n,              dt.Date, dt.TimeOfDay);      } } 代码会产生下面的输出 23/06/2001 17:55:10 date 23/06/2001 00:00:00, time 17:55:10.3839296 下表列出了标准的格式字符串以及相关的DateTimeFormatInfo属性 D    D MM/dd/yyyy ShortDatePattern短日期模式  D dddd,MMMM dd,yyyy     LongDatePattern长日期模式  F dddd,MMMM dd,yyyy HH:mm Full date and time (long date and short time)全日期和时间模式  F dddd,MMMM dd,yyyy HH:mm:ss FullDateTimePattern (long date and long time)长日期和长时间  G MM/dd/yyyy HH:mm General (short date and short time)通用模式短日期和短时间  G MM/dd/yyyy HH:mm:ss General (short date and long time)通用模式短日期和长时间  M,M MMMM dd   MonthDayPattern月天模式  r,R ddd,dd MMM yyyy,HH:mm:ss GMT RFC1123Pattern RFC1123模式  S yyyy-MM-dd HH:mm:ss   SortableDateTimePattern (conforms to ISO 8601) using local time使用本地时间的可排序模式  T HH:mm   ShortTimePattern 短时间模式  T HH:mm:ss LongTimePattern长时间模式  U yyyy-MM-dd HH:mm:ss UniversalSortable-DateTimePattern (conforms to ISO 8601) using universal time通用可排序模式  U dddd,MMMM dd,yyyy,HH:mm:ss UniversalSortable-DateTimePattern通用可排序模式  y,Y MMMM,yyyy YearMonthPattern年月模式 DateTimeFormatInfo.InvariantInfo属性得到了默认的只读的DateTimeFormatInfo实例它与文化无关。你可以创建自定义的模式。要注意到的是InvariantInfo不一定和本地的格式一样。Invariant等于美国格式。另外如果你向DateTime.Format方法传递的第二个参数是nullDateTimeFormatInfo将会是默认的CurrentInfo。比如 Console.WriteLine(dt.ToString(d, dtfi)); Console.WriteLine(dt.ToString(d, null)); Console.WriteLine(); 输出是 06/23/2001 23/06/2001 对比选择InvariantInfo和CurrentInfo的。 DateTimeFormatInfo dtfi; Console.Write([I]nvariant or [C]urrent Info?: ); if (Console.Read() I)      dtfi DateTimeFormatInfo.InvariantInfo; else      dtfi DateTimeFormatInfo.CurrentInfo; DateTimeFormatInfo dtfi DateTimeFormatInfo.InvariantInfo; Console.WriteLine(dt.ToString(D, dtfi)); Console.WriteLine(dt.ToString(f, dtfi)); Console.WriteLine(dt.ToString(F, dtfi)); Console.WriteLine(dt.ToString(g, dtfi)); Console.WriteLine(dt.ToString(G, dtfi)); Console.WriteLine(dt.ToString(m, dtfi)); Console.WriteLine(dt.ToString(r, dtfi)); Console.WriteLine(dt.ToString(s, dtfi)); Console.WriteLine(dt.ToString(t, dtfi)); Console.WriteLine(dt.ToString(T, dtfi)); Console.WriteLine(dt.ToString(u, dtfi)); Console.WriteLine(dt.ToString(U, dtfi)); Console.WriteLine(dt.ToString(d, dtfi)); Console.WriteLine(dt.ToString(y, dtfi)); Console.WriteLine(dt.ToString(dd-MMM-yy, dtfi)); 输出是 [I]nvariant or [C]urrent Info?: I 01/03/2002 03/01/2002 Thursday, 03 January 2002 Thursday, 03 January 2002 12:55 Thursday, 03 January 2002 12:55:03 01/03/2002 12:55 01/03/2002 12:55:03 January 03 Thu, 03 Jan 2002 12:55:03 GMT 2002-01-03T12:55:03 12:55 12:55:03 2002-01-03 12:55:03Z Thursday, 03 January 2002 12:55:03 01/03/2002 2002 January 03-Jan-02 [I]nvariant or [C]urrent Info?: C 03/01/2002 03/01/2002 03 January 2002 03 January 2002 12:55 03 January 2002 12:55:47 03/01/2002 12:55 03/01/2002 12:55:47 03 January Thu, 03 Jan 2002 12:55:47 GMT 2002-01-03T12:55:47 12:55 12:55:47 2002-01-03 12:55:47Z 03 January 2002 12:55:47 03/01/2002 January 2002 03-Jan-02 /****************************************************************************************** *【Author】flyingbread *【Date】2007年1月18日 *【Notice】 *1、本文为原创技术文章首发博客园个人站点(http://flyingbread.cnblogs.com/)转载和引用请注明作者及出处。 *2、本文必须全文转载和引用任何组织和个人未授权不能修改任何内容并且未授权不可用于商业。 *3、本声明为文章一部分转载和引用必须包括在原文中。 ******************************************************************************************/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

导购网站 模板专门做化妆品平台的网站

正常方式是Integer.toString(i)或String.valueOf(i)。串联将工作,但它是非常规的,可能是一个难闻的气味,因为它暗示作者不知道上述两种方法(他们不知道什么?)。Java在使用字符串(见the documentation)时对操作符提供了特殊的支持&…

浦口区网站建设及推广定制西服大概多少钱一套

前言 因为疫情的原因,以学校为单位在校参加!(就很秃然) 注:前三天是普及组,后三天是提高组 Day 1 第一次参加,以为会被虐得成狗,以忐忑的心情打开T1 4⩽n⩽20004\leqslant n\leqs…

做宾馆网站好北京网站开发服务商

每次找到所有叶子节点,把它们的父亲染白,自己染黑。这个时候染完的叶子节点及其父亲节点对树的其他部分已无影响 ,可以直接删掉。 那么只需要判断树的其他部分是否有先手必胜策略即可。用递归遍历。 边界条件:若树为单一节点先手必胜。 代…

怎样做理财网站好兄弟资源网在线看片

全局模式 \documentclass[12pt]{article} 在文档的开头,有设置整个文章的字体大小,如:12pt。 局部模式 设置字体大小的命令从小到大为: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge…

微信电影网站怎么做杭州微网站开发

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenguang.blog.51cto.com/350944/1325742 可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流…

多网合一网站平台建设免费品牌网站制作

这里是Z哥的个人公众号每周五11:45 按时送达当然了,也会时不时加个餐~我的第「85」篇原创敬上随着20年来互联网的蓬勃发展,一个软件系统所要面对的访问压力上限被逐渐提高。虽然如此,但是那些体量达到亿级或者是千万级…

怎么建立一个网站让外国人浏览做吉祥物的网站

项目 一个Qt Quick应用程序设计的横向和纵向设备,使用自定义组件,响应式布局和JavaScript的应用程序逻辑。 项目路径: Qt\Examples\Qt-6.7.1\demos 环境:Qt6.7.1 MSVC 2019 64位 项目目录: calqlatr--CMakeList.txt…

做网站推广要注意的事项免费seo提交工具

首先我们看一张图 这里我们类比了Java的jvm和JavaScript的node.js。 可以看到,node.js是基础,提供了基础的编译执行的能力。vue,js是实际上定义了一种他自己的代码格式,以加速开发。

厦门网站建设开发如何调整

背景介绍 在机器学习的训练数据集中,我们经常使用多批次的训练来实现更好的训练效果,具体到cv领域,我们的训练数据集通常是[B,C,W,H]格式,其中,B是每个训练批次的大小,C是图片的通道数,如果是1…

如何免费建设一个网站网站的前期推广

文章目录一、命令介绍二、常用选项三、命令示例(一)压缩文件(二)解压文件一、命令介绍 compress 命令使用“Lempress-Ziv”编码压缩数据文件。compress 是一个相当古老的 unix 档案压缩程序,文件经它压缩后&#xff0…

广州越秀发布哈尔滨优化推广公司

使用select实现I/O复用2021-01-12 23:57:39实验条件:在使用一个服务器,多个客户端的情况下,实现回声效果,即客户端传什么内容给服务器,服务器将该内容返回。具体实现:每个客户端将自己的进程号传到服务器端…

电商网站模块有哪些做推广比较好的网站

什么是Secrets应用程序通常会通过使用专用的存储来存储敏感信息,如连接字符串、密钥等。通常这需要建立一个密钥存储,如Azure Key Vault、Hashicorp等,并在那里存储应用程序级别的密钥。要访问这些密钥存储,应用程序需要导入密钥存…

微信群发布网站建设费县网站建设

1.QML概述 QML(Qt Meta-Object Language)是一种声明性语言,它被用于描述Qt框架中用户界面的结构和行为。QML提供了一种简洁、灵活的方式来创建动态和交互式的界面。 QML基于JavaScript语法,通过使用QML类型和属性来定义界面的元…

海南省零售户电商网站哪个网站可以做担保交易

2019独角兽企业重金招聘Python工程师标准>>> 回到武汉,租房,然后发现原来的热水器不出水。让房产公司派师傅过来修理,终究还是放弃治疗了。不久,安装了一个新的电热水器。 我喜出望外,等了两个周&#xff0…

遵义哪里有做网站的外贸营销型网站建设多少钱

QPS (Queries Per Second):每秒查询数(个别地方叫每秒查询率?每秒查询率是个奇怪的东西,每小时时速?),表示系统在一秒内处理的查询次数。 TPS(Transactions …

企业不做网站可以做驾校推广的网站

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是…

衡阳seo网站推广seo计费系统开发

本笔记为观看56 指针-指针的定义和使用_哔哩哔哩_bilibili后的学习笔记 指针的定义和使用 1、定义指针 int main () {//1、定义指针int a 10;//指针定义的语法: 数据类型 * 指针变量名;int * p;//让指针记录变量a的地址p &a; //& 为取址符cou…

自助建站的平台手机电影网站建设

mysql正常安装结束之后需要连接你所安装的数据库的时候出现下面的错误: Client does not support authentication protocol requested by server;consider upgrading mysql client 解决方法:启动:mysql 8.0 command line client 之后输入下面的代码即可。use mysql;ALTER USER…

个人备案 网站名称 例子市政公司宣传册设计样本

问题描述: 在33的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是: 给出一种初始布局(初始状态)和目标布…

网站建设步骤视频教程杭州网站 建设

本文内容 对各种场景进行考虑定义目标了解平台使性能优化成为一个迭代过程构建图形丰富性 能否成功实现性能目标取决于如何制定性能策略。 规划是开发任何产品的第一阶段。 本主题介绍一些非常简单的规则,用于开发良好的性能策略。 1、对各种场景进行考虑 场景可…