C# 将浮点显示为至少有1位小数的字符串

C# 将浮点显示为至少有1位小数的字符串,c#,string,string-formatting,C#,String,String Formatting,我希望将浮点显示为字符串,同时确保至少显示一位小数。如果有更多的小数,我希望这些显示 例如: 1应显示为1.0 1.2345应显示为1.2345 有人能帮我处理格式字符串吗?试试这个: doubleNumber.ToString(“0.0#####”) 并且,作为您的参考(双ToString方法):使用ToString(.0######################################)。 例如: float myFloat1 = 1.4646573654; float myFlo

我希望将浮点显示为字符串,同时确保至少显示一位小数。如果有更多的小数,我希望这些显示

例如: 1应显示为1.0 1.2345应显示为1.2345

有人能帮我处理格式字符串吗?

试试这个:

doubleNumber.ToString(“0.0#####”)


并且,作为您的参考(双ToString方法):

使用ToString(.0######################################)。 例如:

float myFloat1 = 1.4646573654;
float myFloat2 = 5;
Console.WriteLine(string.Format("Number 1 : {0:0.00##}", myFloat1));
Console.WriteLine(string.Format("Number 2 : {0:0.00##}", myFloat2));

// Newer Syntax
Console.WriteLine($"{myFloat1:0.00##}";
Console.WriteLine($"{myFloat2:0.00##}";
这将产生:

Number 1 : 1.4646
Number 2 : 5.00
Number 1 : 1.4646
Number 2 : 5.00

可能的重复不是重复,我的问题是如何显示小数点后1位的最小值和小数点后1位的最大值。这迫使所有内容都有1位小数。因此,在本例中,1.2345将显示为1.2I实际上在寻找一种方法来实现1位小数的最小值,而不是最大值:
(1.23456789)?在标准计算机上只能表示有限的数量。(到底有多少对观众有用?@Deanna-最初的格式是“0.0”,强制1位小数。它是在那个评论之后编辑的。这打破了国际化(对我们来说很好,但对其他人来说不是),这可能不起作用,取决于本地化设置。(如果这是一个问题)是的,我只是想到了这样一个事实:由于本地化,它在我自己的计算机上无法工作:p修复了if子句。问题是,让它检测是否应该添加一个点或一个逗号有点不可靠。您真正想要的是@RobinJ。然而,这仍然是一个脆弱的选择。根据,使用
float
可以在
.0
之后使用6
#
s,因为您可以获得约7位小数精度。对于双精度的
double
您可以使用15
#
s,因为您可以获得大约16位小数精度。@Six:谢谢您提供的信息。我也会自己用的@User7116这是误导。对于真正接近0的值,单个值的近似范围为±1.5 x 10−45,远远超过7位数。您应该根据当前值检查精度。
Number 1 : 1.4646
Number 2 : 5.00
Number 1 : 1.4646
Number 2 : 5.00