如何将double变为带两位小数的字符串?

问题描述

比如说这个数为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”;

时间: 2024-09-25 06:00:31

如何将double变为带两位小数的字符串?的相关文章

Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入

package com; public class T2 { public static void main(String[] args) { System.out.println(calculateProfit(0)); System.out.println(calculateProfit(0.963)); System.out.println(calculateProfit(0.123456)); System.out.println(calculateProfit(100)); Syste

Double 数据保留两位小数一:五舍六入

1 package com; 2 3 public class T2 { 4 5 public static void main(String[] args) { 6 7 System.out.println(calculateProfit(0.233)); 8 System.out.println(calculateProfit(0.235)); 9 System.out.println(calculateProfit(0.237)); 10 System.out.println(calcul

js-金额正则表达式,最多有两位小数。

问题描述 金额正则表达式,最多有两位小数. 5C 如果是整数,不能以0开头,如果是小数,最多只有两位小数.不能有逗号等其他字符. 解决方案 [1-9](d+)(.d{12}) 解决方案二: 带两位小数的正则表达式 解决方案三: caozhy给的就行了.不用考虑其他的,只要保证是数字就行了 解决方案四: ^[1-9]d*.d{12}|0.d*[1-9]d{12}$当数值大于1是[1-9]d*.d{12}当数值小于1时只能以0开头的小数0.d*[1-9]d{12} 解决方案五: ^[1-9]d*.d

class-现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的。

问题描述 现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的. 各位大虾,现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的,而不是字符串类型. 解决方案 double a=1.2345; a=int(a*100)/100.0; 解决方案二: 在java里面没有四舍五入,c,c++才有. java a=int(a*100+0.5)/100.0; 这种很快捷 C 直接输出system.out.printf("%2.

java使double保留两位小数的多方法 java保留两位小数_java

复制代码 代码如下: mport java.text.DecimalFormat;   DecimalFormat    df   = new DecimalFormat("######0.00");   double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为: 复制代码 代码如下: 3.230.00 2.00 java保留两位小数

asp.net中,如何验证输入文本框的是小数点后带两位的数字,即money类型

问题描述 asp.net中,如何验证输入文本框的是小数点后带两位的数字,即money类型.请各位高手指点 解决方案 解决方案二:functionIsFloat(name)//验证输入小数(小数点后2位){if(name.value!=""){if(name.value.search(/^[0-9]+$/)!=-1||name.value.search(/^([0-9]+)|([0-9]+.[0-9]*)|([0-9]*.[0-9]+)$/)!=-1){name.value=Math.r

巧用WPS移动版组合函数四舍五入保留两位小数

平时用WPS移动版编辑表格时发现,在统计数据过程中,很多情况下要将数字四舍五入到小数点后两位小数.利用"单元格格式设置"则不能实现四舍五入.在WPS移动版中,要将数字自动四舍五入,需要使用Round 函数,其公式为:Round (number, num_digits),即指返回按指定位数进行四舍五入的数值.一起来学习吧. 阿mo打开一个利润统计表,四个部门的产品销售利润已经列举在内.下面向大家介绍如何借助WPS移动版得出平均利润,并且各平均利润值要自动四舍五入到两位小数. 其实,阿mo

VC++浮点数四舍五入保留两位小数VC++浮点数四舍五入保留两位小数

问题描述 VC++浮点数四舍五入保留两位小数VC++浮点数四舍五入保留两位小数 VC++浮点数四舍五入保留两位小数VC++浮点数四舍五入保留两位小数 解决方案 http://zhidao.baidu.com/link?url=tECI6Q8RqTZLAQfx7m5GKgdj9GTDy5XwIAu7pB_Ch74oF6EAif4TzLgjyFL-6llZBGs5pr9teO3MYQn5pV-0_a 解决方案二: Double?a?=?12.345678;????????????Console.Wr

c++-C++负数小数如何不按四舍五入保留两位小数

问题描述 C++负数小数如何不按四舍五入保留两位小数 C++负数小数如何不按四舍五入保留两位小数................................. 解决方案 #include <iostream> double foo(double n) { bool sign = n < 0; if (n < 0) n = 0 - n; n = ((int)(n * 100.0)) / 100.0; if (sign) n = 0 - n; return n; } int mai