C# 如何使用零设置双精度值的格式

C# 如何使用零设置双精度值的格式,c#,double,string-formatting,tostring,C#,Double,String Formatting,Tostring,我想知道是否有一种简单的方法可以像C#中那样将双精度值转换为字符串?我使用了.ToString(“R”)和默认值.ToString(),但它不起作用 下面是一些测试示例0.00000000000000000001给我字符串1.0E-26和29.99999999999999 4转换为30.0。我不想那样。如何避免这种表述?您想要什么表述 请检查MSDN中的和格式化字符串。我想要像0.00000000000000000001和29.9999999999999999999999994这样的表示形式,而

我想知道是否有一种简单的方法可以像C#中那样将双精度值转换为字符串?我使用了
.ToString(“R”)
和默认值
.ToString()
,但它不起作用


下面是一些测试示例0.00000000000000000001给我字符串1.0E-2629.99999999999999 4转换为30.0。我不想那样。如何避免这种表述?

您想要什么表述


请检查MSDN中的和格式化字符串。

我想要像0.00000000000000000001和29.9999999999999999999999994这样的表示形式,而不使用舍入和科学形式。@PavelShchegolevatykh:So,
.ToString(“f26”)
,除非我计算错了小数位数。请看。由于舍入问题,在我的情况下不起作用。它只会旋转到0和30。@PavelShchegolevatykh:在第一种情况下,它工作正常。在第二种情况下,您应该阅读。标准不支持那么多重要的数字,我怀疑你从哪里得到这些数字是否有那么高的精度。要求以这种格式显示这些数字。所以我决定用Java重写代码。谢天谢地,它很短。Java为此内置了一个特性:BigDecimal.valueOf(yourNumber.toPlainString()