我有这个问题,我不能想到最好的解决方案,我试着将double值转换成一个字符串,并将'''替换为'。'。 这工作得很好,但只有当尾数不为零时,即使值为1234.0,我也需要在我的字符串中置零。这对小数值有效。试图将双精度转换为十进制,但我失去了零的十进制数字。双重字符串保持结尾零
[编辑] 对不起忘了提及的C#.NET
我知道我失去了一些东西。我会感谢一些建议。
谢谢
我有这个问题,我不能想到最好的解决方案,我试着将double值转换成一个字符串,并将'''替换为'。'。 这工作得很好,但只有当尾数不为零时,即使值为1234.0,我也需要在我的字符串中置零。这对小数值有效。试图将双精度转换为十进制,但我失去了零的十进制数字。双重字符串保持结尾零
[编辑] 对不起忘了提及的C#.NET
我知道我失去了一些东西。我会感谢一些建议。
谢谢
这取决于语言。在C#中的一个例子
d.ToString("0.00");
会产生一个双精度小数点后两位数的数字(零或以其他值)。
Thanx工作很好:) – 2010-03-05 16:37:50
http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx – 2010-03-05 16:43:06
如果这是Java版本,请查看NumberFormat class的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语言,你可以这样做::-)
write(*,110) x
110 format (F5.3)
(猜猜我们真的必须知道正在使用什么语言......)
+1:我要删除我的答案 - 现在,OP说C# - - 但在阅读你的答案后,我想我会离开它。 – Pops 2010-03-05 16:41:57
这是写什么语言? – 2010-03-05 16:26:40
这需要澄清。你想从输入中得到什么输出?什么不工作?什么编程语言? – 2010-03-05 16:26:48
让我看看codez! – roryf 2010-03-05 16:27:17