本文主要是介绍String Format for Double [C#],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
小数点后的数字
这个例子格式的两位小数固定长度的字符串。对于小数点后两位使用模式“0.00”。如果浮点数小数少,右边其余数字将是零。如果有更多的小数,将四舍五入。
[C#]<span class="comments" style="color: rgb(0, 170, 0);">// just two decimal places</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.00}"</span>, 123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "123.46"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.00}"</span>, 123.4); <span class="comments" style="color: rgb(0, 170, 0);">// "123.40"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.00}"</span>, 123.0); <span class="comments" style="color: rgb(0, 170, 0);">// "123.00"</span>
在下面的例子格式字符串浮点数与小数。例如最大的小数点后两位使用模式 “0.##“.
[C#]<span class="comments" style="color: rgb(0, 170, 0);">// max. two decimal places</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.##}"</span>, 123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "123.46"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.##}"</span>, 123.4); <span class="comments" style="color: rgb(0, 170, 0);">// "123.4"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.##}"</span>, 123.0); <span class="comments" style="color: rgb(0, 170, 0);">// "123"</span>
小数点前的数字
如果你想要一个浮点数之前有任何数量最少的数字,小数点使用N次小数点前的零。例如对于小数点后两位使用模式“00.0”
[C#]<span class="comments" style="color: rgb(0, 170, 0);">// at least two digits before decimal point</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:00.0}"</span>, 123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "123.5"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:00.0}"</span>, 23.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "23.5"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:00.0}"</span>, 3.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "03.5"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:00.0}"</span>, -3.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "-03.5"</span>
千位分隔符
要格式化双字符串使用千位分隔符使用零和逗号分隔前一个平常的浮点格式模式,例如:模式“0,0.0”格式的数量,使用千位分隔符,并有一个小数位。
[C#]<span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0,0.0}"</span>, 12345.67); <span class="comments" style="color: rgb(0, 170, 0);">// "12,345.7"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0,0}"</span>, 12345.67); <span class="comments" style="color: rgb(0, 170, 0);">// "12,346" 四舍五入</span>
0
0和1之间的浮点数可以在两种方式进行格式化,带或不带前导零小数点前。要格式化#前点没有使用前导零的数字。例如“#.0”格式有一个小数位和零到N小数点前的数字(例如“5”或“123.5”)。
下面的代码演示如何格式化一个零(double类型)。
[C#]<span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.0}"</span>, 0.0); <span class="comments" style="color: rgb(0, 170, 0);">// "0.0"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.#}"</span>, 0.0); <span class="comments" style="color: rgb(0, 170, 0);">// "0"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:#.0}"</span>, 0.0); <span class="comments" style="color: rgb(0, 170, 0);">// ".0"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:#.#}"</span>, 0.0); <span class="comments" style="color: rgb(0, 170, 0);">// ""</span>
用空格对齐数字
右对齐:在”,“后不变。其次是数量的空格,例如类型逗号“0,10:0.0”(可以使用String.Format方法,在double.ToString方法不是)。左对齐:在”,“后,用"-"
[C#]<span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0,10:0.0}"</span>, 123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// " 123.5"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0,-10:0.0}"</span>, 123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "123.5 "</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0,10:0.0}"</span>, -123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// " -123.5"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0,-10:0.0}"</span>, -123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "-123.5 "</span>
自定义格式为负数和零
如果需要使用自定义格式为负浮点数或零,用分号分隔“;”分模式三个部分。第一部分正数格式,负数第二部分格式和第三部分格式零。如果你省略了最后一节,零使用的第一部分将被格式化。
[C#]<span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.00;minus 0.00;zero}"</span>, 123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "123.46"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.00;minus 0.00;zero}"</span>, -123.4567); <span class="comments" style="color: rgb(0, 170, 0);">// "minus 123.46"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0.00;minus 0.00;zero}"</span>, 0.0); <span class="comments" style="color: rgb(0, 170, 0);">// "zero"</span>
一些有趣的例子
正如你可能会注意到,在前面的例子,你可以放入任何文本格式的模式,例如:之前,通常的模式“my number is
0.0”。你甚至可以把零之间的任何文本,例如: “0aaa.bbb0”。
<span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:my number is 0.0}"</span>, 12.3); <span class="comments" style="color: rgb(0, 170, 0);">// "my number is 12.3"</span> <span class="type" style="color: rgb(43, 145, 175);">String</span>.Format(<span class="string" style="color: rgb(255, 0, 0);">"{0:0aaa.bbb0}"</span>, 12.3); <span class="comments" style="color: rgb(0, 170, 0);">// "12aaa.bbb3"</span>
See also
- [C#] String Format for Int – format (align) integer numbers
- [C#] String Format for DateTime – format date and time
- [C#] IFormatProvider for Numbers – format and parse float numbers using CultureInfo
- [C#] Custom IFormatProvider – string formatting with custom IFormatProvider
- [C#] Align String with Spaces – how to align text to the right or left
- [C#] Indent String with Spaces – how to indent text with repeated spaces
- MSDN Examples – MSDN examples for custom numeric formatting
- String.Format – MSDN – method to format strings
- Double.ToString – MSDN – formats double to string
这篇关于String Format for Double [C#]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!