C# C中的双精度格式#

C# C中的双精度格式#,c#,C#,我有双重价值。我想将此值格式化为x.yz格式。我该怎么做?我总是被截断。有人能告诉我怎么用C#做这个吗 谢谢 string.Format("{0:0.00}",yourdouble); 也许你会在办公室的某个地方找到有用的贴着这个的纸试试这个: number.ToString("0.00"); 还可以看看是否尝试过类似的方法,使用ToString doubleNumber = -1898300.1937; Console.WriteLine(doubleNumber.ToString("F2

我有双重价值。我想将此值格式化为x.yz格式。我该怎么做?我总是被截断。有人能告诉我怎么用C#做这个吗

谢谢

string.Format("{0:0.00}",yourdouble);
也许你会在办公室的某个地方找到有用的贴着这个的纸

试试这个:

number.ToString("0.00");

还可以看看

是否尝试过类似的方法,使用ToString

doubleNumber = -1898300.1937;
Console.WriteLine(doubleNumber.ToString("F2", CultureInfo.InvariantCulture));  
// Displays -1898300.19

小数点后的数字

此示例将double格式化为具有固定小数位数的字符串。对于两位小数,使用“0.00”模式。如果浮点数的小数位数较少,则右侧的其余数字将为零。如果浮点数的小数位数较多,则数字将四舍五入

// just two decimal places
String.Format("{0:0.00}", 123.4567);      // "123.46"
String.Format("{0:0.00}", 123.4);         // "123.40"
String.Format("{0:0.00}", 123.0);         // "123.00"
下一个示例将双精度格式设置为小数位数浮动的字符串。例如,对于最大两个小数位数,请使用“0.##”模式

小数点前的数字

如果您希望浮点数在小数点之前有任何最小位数,请在小数点之前使用N乘以零。例如,模式“00.0”将浮点数格式化为字符串,在小数点之前至少有两位数,在小数点之后至少有一位数

// at least two digits before decimal point
String.Format("{0:00.0}", 123.4567);      // "123.5"
String.Format("{0:00.0}", 23.4567);       // "23.5"
String.Format("{0:00.0}", 3.4567);        // "03.5"
String.Format("{0:00.0}", -3.4567);       // "-03.5"
千位分隔符

若要使用千位分隔符将双精度格式设置为字符串,请在常用浮点格式模式之前使用零和逗号分隔符,例如,模式“0,0.0”将数字设置为使用千位分隔符并保留一位小数

String.Format("{0:0,0.0}", 12345.67);     // "12,345.7"
String.Format("{0:0,0}", 12345.67);       // "12,346"

0到1之间的浮点数可以通过两种方式进行格式化,在小数点之前有或没有前导零。要格式化没有前导零的数字,请使用“前导零”。例如,“0”将数字格式化为小数点之前有一位小数和0到N位数字(例如.5”或“123.5”)

下面的代码显示如何将其格式化为零(双精度类型)

将数字与空格对齐

要将浮点数向右对齐,请在冒号前使用逗号“选项”。键入逗号,后跟多个空格,例如“0,10:0.0”(只能在String.Format方法中使用,不能在double.ToString方法中使用)。要将数字向左对齐,请使用负数空格

String.Format("{0,10:0.0}", 123.4567);    // "     123.5"
String.Format("{0,-10:0.0}", 123.4567);   // "123.5     "
String.Format("{0,10:0.0}", -123.4567);   // "    -123.5"
String.Format("{0,-10:0.0}", -123.4567);  // "-123.5    "
负数和零的自定义格式

如果需要对负浮点数或零使用自定义格式,请使用分号分隔符“0;”将图案拆分为三部分。第一部分格式为正数,第二部分格式为负数,第三部分格式为零。如果省略最后一部分,将使用第一部分格式为零

String.Format("{0:0.00;minus 0.00;zero}", 123.4567);   // "123.46"
String.Format("{0:0.00;minus 0.00;zero}", -123.4567);  // "minus 123.46"
String.Format("{0:0.00;minus 0.00;zero}", 0.0);        // "zero"
我正在使用


您还可以指定舍入规则。

使用格式字符串的说明如下:

例如,尝试:

  • (0.56789)。ToString(“F2”)
  • (0.56789).ToString(“0.00”)

请注意,结果值不是截断的,而是在两种情况下四舍五入的,结果是
“0.57”
myDouble.ToString(“0.00”);
?您能提供一个更具体的示例,并检查页面右侧“Related”下链接的问题吗?@Jeff M-谢谢!我以为零意味着会显示零。
String.Format("{0,10:0.0}", 123.4567);    // "     123.5"
String.Format("{0,-10:0.0}", 123.4567);   // "123.5     "
String.Format("{0,10:0.0}", -123.4567);   // "    -123.5"
String.Format("{0,-10:0.0}", -123.4567);  // "-123.5    "
String.Format("{0:0.00;minus 0.00;zero}", 123.4567);   // "123.46"
String.Format("{0:0.00;minus 0.00;zero}", -123.4567);  // "minus 123.46"
String.Format("{0:0.00;minus 0.00;zero}", 0.0);        // "zero"
Math.Round(yourdouble, 2)