2010-03-05 75 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