2010-03-05 48 views
3

我有这个问题,我不能想到最好的解决方案,我试着将double值转换成一个字符串,并将'''替换为'。'。 这工作得很好,但只有当尾数不为零时,即使值为1234.0,我也需要在我的字符串中置零。这对小数值有效。试图将双精度转换为十进制,但我失去了零的十进制数字。双重字符串保持结尾零

[编辑] 对不起忘了提及的C#.NET

我知道我失去了一些东西。我会感谢一些建议。

谢谢

+1

这是写什么语言? – 2010-03-05 16:26:40

+0

这需要澄清。你想从输入中得到什么输出?什么不工作?什么编程语言? – 2010-03-05 16:26:48

+0

让我看看codez! – roryf 2010-03-05 16:27:17

回答

9

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

d.ToString("0.00"); 

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

+0

Thanx工作很好:) – 2010-03-05 16:37:50

+0

http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx – 2010-03-05 16:43:06

0

如果这是Java版本,请查看NumberFormat classsetMinimumFractionDigits()方法。

例子:

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

1

...和Fortran语言,你可以这样做::-)

 write(*,110) x 
    110 format (F5.3) 

(猜猜我们真的必须知道正在使用什么语言......)

+0

+1:我要删除我的答案 - 现在,OP说C# - - 但在阅读你的答案后,我想我会离开它。 – Pops 2010-03-05 16:41:57