C# 如果字符串为零,则该字符串将跳过最后一个小数点?

C# 如果字符串为零,则该字符串将跳过最后一个小数点?,c#,double,tryparse,C#,Double,Tryparse,这是我的问题 我需要将say“5.550”(字符串)转换为double as 5.550 这是双精度的3位小数。 我在解析时尝试了IFormatProvider,但没有用。它一直跳过最后一个零()。 请给我一些建议 谢谢, Kumar M Adouble不会保留不重要的数字-就double而言,1.5和1.50000之间没有差异 如果要保留不重要的数字,请改用decimal。不管怎样,它可能更适合你,这取决于你的确切背景。(我们这里没有什么上下文…当小数点末尾是尾随零时,不存在“将零保留在双精度

这是我的问题

我需要将say“5.550”(字符串)转换为double as 5.550 这是双精度的3位小数。 我在解析时尝试了IFormatProvider,但没有用。它一直跳过最后一个零()。 请给我一些建议

谢谢,
Kumar M A

double
不会保留不重要的数字-就
double
而言,1.5和1.50000之间没有差异


如果要保留不重要的数字,请改用
decimal
。不管怎样,它可能更适合你,这取决于你的确切背景。(我们这里没有什么上下文…

当小数点末尾是尾随零时,不存在“将零保留在双精度上”的情况。该值为5.55。您可以将其格式化为带有额外零的字符串,但实际值仍然是5.55您怎么知道它跳过了最后一个零?如果是在屏幕上打印的话,你可以在屏幕上格式化后面的零。。。你能分享你的相关代码来说明你的问题吗?如果你想得到一个双精度的5.550,你将无法得到,因为最后的零是毫无意义的(它也不能用二进制代码表示),我也认为没有必要这样做,同样,这意味着什么,如果你想以这样的方式打印它,你可以使用字符串格式,但否则就没有意义了。