一、格式化方法:

1、ToString()实例方法

使用当前文化:

varname.ToString("C4");

使用特定文化:

varname.ToString("C4", new CultureInfo("en-us"));
varname.ToString("C4", CultureInfo.CreateSpecifiCulture("zh-CN"));

2、Format()静态方法

string.Format("{0:C4}",varname);
string.Format(CultureInfo.InvariantCulture,"{0:C4}",varname);

3、Console.Write()方法

Console.Write("{0:C4}",varname);

4、区域设置:

s1 = 4123.ToString("C", CultureInfo.InvariantCulture);//¤4,123.00
s2 = 4123.ToString("C", new CultureInfo("en-us", false).NumberFormat);//$4,123.00
s3 = DateTime.Now.ToString("f", CultureInfo.InvariantCulture);//Tuesday, 25 June 2019 08:53
s4 = DateTime.Now.ToString("f", new CultureInfo("en-us", false).DateTimeFormat);//Tuesday, June 25, 2019 8:53 AM

改变当前线程的文化:

Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

二、格式化数字(格式符不区分大小写)

1、格式化整数(对小数将引发异常),格式符后的数字表示总位数

(1)、格式化为整数,“D”,“Dx”:

string s1, s2;
s1 = 4123.ToString("D");//4123
s2 = 4123.ToString("D6");//004123 Console.WriteLine(s1);
Console.WriteLine(s2);

(2)、格式化成十六进制形式,“X”,“Xx”:

s1 = 4123.ToString("X");//101B
s2 = 4123.ToString("X6");//00101B

2、格式化数字,格式符后的数字表示小数位数,可四舍五入。

(1)、货币形式:“C”,“Cx”,默认两位小数,有逗号

s1 = 4123.ToString("C");//¥4,123.00
s2 = 4123.ToString("C3");//¥4,123.000

(2)、数值形式:“N”,“Nx”,默认两位小数,有逗号

s1 = 4123.ToString("N");//4,123.00
s2 = 4123.ToString("N3");//4,123.000

(3)、定点形式:“F”,“Fx”,默认两位小数,无逗号

s1 = 4123.ToString("F");//4123.00
s2 = 4123.ToString("F3");//4123.000

(4)、指数形式:“E”,”Ex”,默认六位小数:

s1 = 4123.ToString("E");//4.123000E+003
s2 = 4123.7328.ToString("E3");//4.124E+003

3、自定义格式:

0位零占位符,#为空占位符。

s1 = 4123.ToString("000.000");//4123.000
s2 = 4123.ToString("##.###");//4123
s3 = 4123.ToString("0%");//412300% s4 = 4123.7328.ToString("000.000");//4123.733
s5 = 4123.7328.ToString("##.###");//4123.733
s6 = 4123.7328.ToString("0%");//412373%

4、IFormatProvider接口

  • 1、CultureInfo:表示一个特殊的区域
  • 2、NumberFormatInfo:特定区域数字格式信息。
  • 3、DateTimeFormatInfo:特定区域日期时间格式信息。具有Calender属性可设置。

三、格式化日期和时间

1、标准格式:

(1)完整格式(Full,包括日期和时间),“F”,“f”,注意:”f“仅精确到分。

s1=DateTime.Now.ToString("F");//2019年6月24日 17:14:08
s2=DateTime.Now.ToString("f");//2019年6月24日 17:14

(2)常规完整格式(General):“G”,“g”。注意:无中文和英文显示,仅符号:”g“仅精确到分钟。

s1=DateTime.Now.ToString("G");//2019-06-24 17:14:54
s2=DateTime.Now.ToString("g");//2019-06-24 17:14

(3)年月日(Day,日期)”D”,“d”。注意:”d”无中文和英文显示,仅符号.

s1=DateTime.Now.ToString("D");//2019年6月24日
s2=DateTime.Now.ToString("d");//2019-06-24

(4)年月(Year)“Y”,“y”(不分大小写)

s1=DateTime.Now.ToString("Y");//2019年6月
s2=DateTime.Now.ToString("y");//2019年6月

(5)月日(Month)“M”,“m”(不分大小写)

s1=DateTime.Now.ToString("M");//6月24日
s2=DateTime.Now.ToString("m");//6月24日

(6)时间(Time)“T”,“t”,注意:”t“仅精确到分。

s1=DateTime.Now.ToString("T");//17:17:29
s2=DateTime.Now.ToString("t");//17:17

2、自定义格式:

常见格式:yyyy-MM-dd HH:mm:ss

(1)公元:“%g”:

s1=DateTime.Now.ToString("%g");//公元

(2)年: “%y”,“yy”(前导0),“yyy”,“yyyy”,

s1=DateTime.Now.ToString("%y");//19
s2=DateTime.Now.ToString("yy");//19
s3=DateTime.Now.ToString("yyy");//2019
s4=DateTime.Now.ToString("yyyy");//2019

(3)月:“%M”,“MM”(前导0),“MMM”,“MMMM”,

s1=DateTime.Now.ToString("%M");//6
s2=DateTime.Now.ToString("MM");//06
s3=DateTime.Now.ToString("MMM");//六月
s4=DateTime.Now.ToString("MMMM");//六月

(4)日:“%d”,“dd”(前导0):

s1=DateTime.Now.ToString("%d");//24
s2=DateTime.Now.ToString("dd");//24

(5)星期:“ddd”,“dddd”(全拼):

s1=DateTime.Now.ToString("ddd");//周一
s2=DateTime.Now.ToString("dddd");//星期一

(6)上下午:“%t”,“tt”(全拼):

s1=DateTime.Now.ToString("%t");//下
s2=DateTime.Now.ToString("tt");//下午

(7)小时:“%h”(12小时制),“yy”(前导0),“%H”(24小时制),“HH”(前导0)

s1=DateTime.Now.ToString("%h");//5
s2=DateTime.Now.ToString("hh");//05
s3=DateTime.Now.ToString("%H");//17
s4=DateTime.Now.ToString("HH");//17

(8)分钟:“%m”,“mm”(前导0):

s1=DateTime.Now.ToString("%m");//29
s2=DateTime.Now.ToString("mm");//29

(9)秒:“%s”,“ss”(前导0):

s3=DateTime.Now.ToString("%s");//45
s4=DateTime.Now.ToString("ss");//45

(10)日期间隔符”%/”,时间间隔符:“%:”:

s1=DateTime.Now.ToString("%/");//-
s2=DateTime.Now.ToString("%:");//:

3、获取日期的英文缩写

s1 = DateTime.Now.ToString("MMM", CultureInfo.InvariantCulture);//Jun
s2 = new CultureInfo("en-us", false).DateTimeFormat.GetAbbreviatedMonthName(6);//Jun:
s3 = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }[DateTime.Now.Month - 1];//Jun

C#格式化信息,格式化数字、格式化日期的更多相关文章

  1. Java基础(三十五)Math、Random类和数字格式化(String.format方法)

    一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...

  2. Python 数字系列-数字格式化输出

    数字的格式化输出 问题 你需要将数字格式化后输出,并控制数字的位数.对齐.千位分隔符和其他的细节. 解决方案 格式化输出单个数字的时候,可以使用内置的 format() 函数,比如: >> ...

  3. 重温JSP学习笔记--与日期数字格式化有关的jstl标签库

    上一篇笔记写的主要是JSTL的core标签库,如果想对一些数字或者日期做一些操作或者在网页上显示指定格式的数字或日期,jstl还提供了另一个fmt标签库,这里简单介绍一下: 第一步,导入标签库: &l ...

  4. spring mvc4的日期/数字格式化、枚举转换

    日期.数字格式化显示,是web开发中的常见需求,spring mvc采用XXXFormatter来处理,先看一个最基本的单元测试: package com.cnblogs.yjmyzz.test; i ...

  5. [应用篇]第五篇 JSTL之fmt标签日期和数字格式化

    fmt标签个人用的比较少,但是我还是在这里简单的留一下笔记,也是算是学习了一下!这样方便你们课设的时候能用的上,要学会进步的学习,不要停留! 引入该标签库的方法为: <%@ taglib pre ...

  6. 【2021新】C#数字格式化字符串

    引用来源: https://www.cnblogs.com/flyingbread/archive/2007/01/18/620287.html https://www.cnblogs.com/117 ...

  7. PHP date 格式化一个本地时间/日期

    PHP date 格式化一个本地时间/日期 date (PHP 4, PHP 5) date — 格式化一个本地时间/日期 说明 string date ( string $format [, int ...

  8. String.Format数字格式化参考

    String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转) 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4 ...

  9. BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

    转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...

  10. String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转)

    String.Format数字格式化输出 {:N2} {:D2} {:C2} (转) //格式为sring输出 // Label1.Text = string.Format("asdfads ...

随机推荐

  1. Django时区导致的datetime时间比较报错

    我们使用python 的datetime模块比较Django数据库Datetime字段的时候,可能会出现报错: TypeError: can't compare offset-naive and of ...

  2. mysql子查询用法

    mysql子查询用法 1 可以当值来用<pre>select id from hcyuyin_share where id=(select id from hcyuyin_share li ...

  3. Vmware问题: 开机提示“虚拟机已被打开,是否获得所有权?”& Vmware检测不到USB

    "一只美丽的小鸟,在绿色的草坪上蹦来跳去,很是可爱"----清风徐来 问题1: Vmware开机提示"虚拟机已被打开,是否获得所有权?" 解决: 关闭虚拟机,用 ...

  4. 【转】那些年用过的Redis集群架构(含面试解析)

    引言 今天是2019年2月12号,也就是大年初八,我接到了高中同学刘有码面试失利的消息. 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上Redis是如何部署的,导致面试失败! 人间惨 ...

  5. 专业仿百度百科,维基wiki百科网站开发建设

    专业仿百度百科,维基wiki百科网站开发建设,有需要的朋友可以欢迎私聊我 提供一站式服务:联系QQ:8582-36016(私聊),微信:lianweikj 电话:186-7597-7935 支持终端: ...

  6. 【exgcd】卡片

    卡片 题目描述 你有一叠标号为1到n的卡片.你有一种操作,可以重排列这些卡片,操作如下:1.将卡片分为前半部分和后半部分.2.依次从后半部分,前半部分中各取一张卡片,放到新的序列中.例如,对卡片序列( ...

  7. 最简容器动手小实践——FC坦克大战游戏容器化

    FC 经典力作相信大家一点也不陌生.童年时期最频繁的操作莫过于跳关,在 果断跳到最后一关之后,一般都是以惨败告终,所以还是一关一关的过原始积累才能笑到最后.这款游戏的经典就在于双人配合,守家吃装备.也 ...

  8. C++11 特性

    之前工作中开发/维护的模块大多都是 "远古代码",只能编译 C++98,很多 C++11 的特性都忘得差不多了,再回顾一下 右值引用&转移语义: 消除两个对象交互时不必要的 ...

  9. Nginx 配置反向代理ip

    参考文档: https://blog.csdn.net/stevenprime/article/details/7918094

  10. windows下搭建nginx负载均衡

    学习笔记,第一次记录避免忘记 首先介绍一下本地环境是windows2008 R2-64位. 1.  到nginx官网上下载最新稳定版的安装包,http://nginx.org/en/download. ...