问题描述
比如说这个数为123.5,变为123.50,123变为123.00怎样转,多谢了!
解决方案
解决方案二:
用format函数试试
解决方案三:
floatf1=123.50;floatf2=123.00;strings1=string.Format("{0:.00}",f1);strings2=string.Format("{0:.00}",f2);
解决方案四:
string.Format()可以ToString()也可以doubled=123;Text=d.ToString("0.00");
解决方案五:
doublex=123;MessageBox.Show(x.ToString("0.00"));
解决方案六:
C货币2.5.ToString("C")¥2.50D十进制数25.ToString("D5")00025E科学型25000.ToString("E")2.500000E+005F固定点25.ToString("F2")25.00G常规2.5.ToString("G")2.5N数字2500000.ToString("N")2,500,000.00X十六进制255.ToString("X")FFformatCode是可选的格式化代码字符串。(详细内容请搜索“格式化字符串”查看)必须用“{”和“}”将格式与其他字符分开。如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号,即:“{{”或者“}}”。常用格式举例:(1)inti=12345;this.textBox1.Text=i.ToString();//结果12345(this指当前对象,或叫当前类的实例)this.textBox2.Text=i.ToString("d8");//结果00012345(2)inti=123;doublej=123.45;strings1=string.Format("thevalueis{0,7:d}",i);strings2=string.Format("thevalueis{0,7:f3}",j);this.textBox1.Text=s1;//结果thevalueis123this.textBox2.Text=s2;//结果thevalueis123.450(3)doublei=12345.6789;this.textBox1.Text=i.ToString("f2");//结果12345.68this.textBox2.Text=i.ToString("f6");//结果12345.678900(4)doublei=12345.6789;this.textBox1.Text=i.ToString("n");//结果12,345.68this.textBox2.Text=i.ToString(“n4”);//结果12,345.6789(5)doublei=0.126;strings=string.Format("thevalueis{0:p}",i);this.textBox1.Text=i.ToString("p");//结果12.6%this.textBox2.Text=s;//结果thevalueis12.6%(6)DateTimedt=newDateTime(2003,5,25);this.textBox1.Text=dt.ToString("yy.M.d");//结果03.5.25this.textBox2.Text=dt.ToString(“yyyy年M月”);//结果2003年5月Convert.ToDateTime("2005/12/2222:22:22").ToString("yyyy/MM/ddHH:mm:ss")"2005/12/2222:22:22"(7)inti=123;doublej=123.45;strings=string.Format("i:{0,-7},j:{1,7}",i,j);//-7表示左对齐,占7位this.textBox1.Text=s;//结果i:123,j:123.45DateTime.ToString()用法详解我们经常会遇到对时间进行转换,达到不同的显示效果,默认格式为:2006-6-614:33:34如果要换成成200606,06-2006,2006-6-6或更多的格式该怎么办呢?这里将要用到:DateTime.ToString的方法(String,IFormatProvider)示例:usingSystem;usingSystem.Globalization;Stringformat="D";DateTimedate=DataTime.Now;Response.Write(date.ToString(format,DateTimeFormatInfo.InvariantInfo));结果输出Thursday,June16,2006在这里列出了参数format格式详细用法=======================格式字符关联属性/说明dShortDatePatternDLongDatePatternf完整日期和时间(长日期和短时间)FFullDateTimePattern(长日期和长时间)g常规(短日期和短时间)G常规(短日期和长时间)m、MMonthDayPatternr、RRFC1123Patterns使用当地时间的SortableDateTimePattern(基于ISO8601)tShortTimePatternTLongTimePatternuUniversalSortableDateTimePattern用于显示通用时间的格式U使用通用时间的完整日期和时间(长日期和长时间)y、YYearMonthPattern下表列出了可被合并以构造自定义模式的模式========================================这些模式是区分大小写的;例如,识别“MM”,但不识别“mm”。如果自定义模式包含空白字符或用单引号括起来的字符,则输出字符串页也将包含这些字符。未定义为格式模式的一部分或未定义为格式字符的字符按其原义复制。格式模式说明:d月中的某一天。一位数的日期没有前导零。dd月中的某一天。一位数的日期有一个前导零。ddd周中某天的缩写名称,在AbbreviatedDayNames中定义。dddd周中某天的完整名称,在DayNames中定义。M月份数字。一位数的月份没有前导零。MM月份数字。一位数的月份有一个前导零。MMM月份的缩写名称,在AbbreviatedMonthNames中定义。MMMM月份的完整名称,在MonthNames中定义。y不包含纪元的年份。如果不包含纪元的年份小于10,则显示不具有前导零的年份。yy不包含纪元的年份。如果不包含纪元的年份小于10,则显示具有前导零的年份。yyyy包括纪元的四位数的年份。gg时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。h12小时制的小时。一位数的小时数没有前导零。hh12小时制的小时。一位数的小时数有前导零。H24小时制的小时。一位数的小时数没有前导零。HH24小时制的小时。一位数的小时数有前导零。m分钟。一位数的分钟数没有前导零。mm分钟。一位数的分钟数有一个前导零。s秒。一位数的秒数没有前导零。ss秒。一位数的秒数有一个前导零。f秒的小数精度为一位。其余数字被截断。ff秒的小数精度为两位。其余数字被截断。fff秒的小数精度为三位。其余数字被截断。ffff秒的小数精度为四位。其余数字被截断。fffff秒的小数精度为五位。其余数字被截断。ffffff秒的小数精度为六位。其余数字被截断。fffffff秒的小数精度为七位。其余数字被截断。t在AMDesignator或PMDesignator中定义的AM/PM指示项的第一个字符(如果存在)。tt在AMDesignator或PMDesignator中定义的AM/PM指示项(如果存在)。z时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。zz时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。zzz完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。:在TimeSeparator中定义的默认时间分隔符。/在DateSeparator中定义的默认日期分隔符。%c其中c是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。c其中c是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\”。只有上面第二个表中列出的格式模式才能用于创建自定义模式;在第一个表中列出的标准格式字符不能用于创建自定义模式。自定义模式的长度至少为两个字符;例如,DateTime.ToString("d")返回DateTime值;“d”是标准短日期模式。DateTime.ToString("%d")返回月中的某天;“%d”是自定义模式。DateTime.ToString("d")返回后面跟有一个空白字符的月中的某天;“d”是自定义模式。比较方便的是,上面的参数可以随意组合,并且不会出错,多试试,肯定会找到你要的时间格式如要得到2005年06月这样格式的时间可以这样写:date.ToString("yyyy年MM月",DateTimeFormatInfo.InvariantInfo)如此类推.下面列出一些Asp.net中具体的日期格式化用法:============================================1.绑定时格式化日期方法:2.数据控件如DataGrid/DataList等的件格式化日期方法:e.Item.Cell[0].Text=Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();3.用String类转换日期显示格式:String.Format("yyyy-MM-dd",yourDateTime);4.用Convert方法转换日期显示格式:Convert.ToDateTime("2005-8-23").ToString("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo);//支持繁体数据库5.直接用ToString方法转换日期显示格式:DateTime.Now.ToString("yyyyMMddhhmmss");DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss")6.只显示年月DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}")7.显示时间所有部分,包括:年月日时分秒DataFormatString='{0:yyyy-MM-ddHH24:mm:ss}'>用DateTime.ToString(stringformat)输出不同格式的日期DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。殊不知,DateTime.ToString(stringformat)功能更强大,能输出不同格式的日期。以下把一些情况罗列出来,供大家参考。有些在MSDN上有的就没有列出来了。1.y代表年份,注意是小写的y,大写的Y并不代表年份。2.M表示月份。3.d表示日期,注意D并不代表什么。4.h或H表示小时,h用的是12小时制,H用的是24小时制。5.m表示分钟。6.s表示秒。注意S并不代表什么。格式输出示例年y7stringyy=DateTime.Now.ToString("y-MM")yy="7-05"yy07stringyy=DateTime.Now.ToString("yy-MM")yy="07-05"yyy或更多的y1984stringyy=DateTime.Now.ToString("yyyy");yy="2007"月M5.stringmon=DateTime.Parse("1984-05-09")ToString("yyyy-M")mon="1984-5"MM05.stringmon=DateTime.Parse("1984-05-09")ToString("MM")mon="05"MMM如果是中文版的操作系统,则会输出:五月.如果是英文操作系统,则输入月份前三个字母的简写:Maystringmon=DateTime.Parse("2006-07-01").ToString("MMM")英文版操作系统:Jul中文版操作系统:七月MMMM或更多的M如果是中文版的操作系统,则会输出:五月.如果是英文操作系统,则输入月份的全写stringmon=DateTime.Parse("2006-07-01").ToString("MMM")英文版操作系统:July中文版操作系统:七月日期或星期d9stringdd=DateTime.Parse("1984-05-09")ToString("d")dd="9"dd09stringdd=DateTime.Parse("1984-05-09")ToString("dd")dd="09"ddd如果是中文版的操作系统,则会输出星期,如星期三。.如果是英文操作系统,则输出星期的简写:如Wedstringdd=DateTime.Parse("2006-07-01").ToString("ddd")英文版操作系统:Wed中文版操作系统:星期三dddd或更多的d如果是中文版的操作系统,则会输出星期,如星期三。.如果是英文操作系统,则输出星期:如Wednesdaystringdd=DateTime.Parse("2006-07-01").ToString("dddd")英文版操作系统:Wednesday中文版操作系统:星期三小时h小时范围:1-12stringhh=DateTime.Now.ToString(“h”);hh=8hh或更多的h小时范围:1-12stringhh=DateTime.Now.ToString(“hh”);hh=08H小时范围:0-23stringhh=DateTime.Now.ToString(“yyyy-H”);hh=2006-8HH或更多的H小时范围:0-23stringhh=DateTime.Now.ToString(“yyyy-HH”);hh=2006-08stringhh=DateTime.Pare(“2006-7-418:00:00”).ToString(“yyyy-HH”);hh=2006-18分钟m6stringmm=DateTime.Now.ToString("yyyy-MM-dd-m");mm=“2006-07-01-6”;mm或更多的m06stringmm=DateTime.Now.ToString("yyyy-MM-dd-mm");mm=“2006-07-01-06”;秒s6stringmm=DateTime.Now.ToString("yyyy-MM-dd-s");mm=“2006-07-01-6”;ss或更多的s06stringmm=DateTime.Now.ToString("yyyy-MM-dd-ss");mm=“2006-07-01-06”;