C# 双精度到字符串保持尾随零

C# 双精度到字符串保持尾随零,c#,C#,我尝试将双精度值转换为字符串,并使用Replace()方法 将“,”替换为“.” 这很好,但只有当尾随数字不是零时,我的字符串中才需要零,即使值是1234.0。这对于十进制值很有效。我曾尝试将双精度转换为十进制,但如果有零,则会丢失十进制数字 我知道我错过了什么。如果您能给我一些建议,我将不胜感激。这取决于语言。C语言中的一个例子# 将产生一个两位小数点后两位的双精度值(零或其他值)。如果这是在Java中,请检查'ssetMinimumFractionDigits()方法 例如: double

我尝试将双精度值转换为字符串,并使用
Replace()
方法 将“,”替换为“.”

这很好,但只有当尾随数字不是零时,我的字符串中才需要零,即使值是1234.0。这对于十进制值很有效。我曾尝试将双精度转换为十进制,但如果有零,则会丢失十进制数字


我知道我错过了什么。如果您能给我一些建议,我将不胜感激。

这取决于语言。C语言中的一个例子#


将产生一个两位小数点后两位的双精度值(零或其他值)。

如果这是在Java中,请检查's
setMinimumFractionDigits()
方法

例如:

double d1 = 2.5;
double d2 = 5.0;

NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);

String d1s = nf.format(d1);
String d2s = nf.format(d2);

System.out.println("d1s: " + d1s + " and d2s: " + d2s);
产生

d1s:2.50和d2s:5.00


…在Fortran中,您可以执行如下操作::-)


(我想我们真的需要知道正在使用什么语言…

这是用什么语言写的?这需要澄清。您试图从输入中获得的输出是什么?什么不起作用?什么编程语言?+1:我本来打算删除我的答案——既然OP说的是C#——但在阅读了你的答案后,我想我会留下它。
double d1 = 2.5;
double d2 = 5.0;

NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);

String d1s = nf.format(d1);
String d2s = nf.format(d2);

System.out.println("d1s: " + d1s + " and d2s: " + d2s);
      write(*,110) x
  110 format (F5.3)