我需要一个double to string来显示小数分隔符后面的max X chars。
我试过
?string.Format("{0,10}", 1.234567890123456789)
"1,23456789012346"
?string.Format("{0:F10}", 1,234567890123456789)
"1,0000000000"
答案 0 :(得分:3)
鉴于这是家庭作业,我会指出相关文档,而不是给你代码:
请注意,如果您对完全 X小数位感到满意,使用标准数字格式字符串相对容易。如果您希望最多 X小数位(但如果可能,则更少),您可能需要使用自定义数字格式字符串。至少据我所见......
答案 1 :(得分:1)
这是一个更大的暗示:
Console.WriteLine(String.Format("{0:F1}", Math.Pi)); // Prints 3.1
Console.WriteLine(String.Format("{0:F2}", Math.Pi)); // Prints 3.14
Console.WriteLine(String.Format("{0:F3}", Math.Pi)); // Prints 3.141
答案 2 :(得分:0)
您应该使用String.Format功能格式化数字。要显示带有2位小数的数字,请使用:
String.Format("{0.00}",MyNumber);
答案 3 :(得分:0)
Jons得到了正确的方向,我在csharp-examples上使用了集合http://www.csharp-examples.net/string-format-double/,因为我每天都不处理这些问题,但每周至少一次(只是为了忘记),这些片段应该能满足你的需要
答案 4 :(得分:0)
我将添加其他人建议的内容(String.Format("{0:0.0000000000}", number)
),例如,如果您需要在小数点分隔符后总是有10位小数,String.Format
根据当前文化格式化数字,所以在美国,它将使用.
作为小数分隔符,在欧洲使用,
。如果您需要在“固定”“默认”文化中格式化数字,则可以执行此操作:String.Format(CultureInfo.InvariantCulture, "{0:0.0000000000}", number)
。如果您需要在特定文化中进行格式化:String.Format(new CultureInfo("it-IT"), "{0:0.0000000000}"
(这将使用意大利文化)。