2014-09-27 60 views

回答

1
Convert.ToDouble(string value) 

此功能封裝方法

Number.ParseDouble(string value, NumberStyles option, NumberFormatInfo numfmt) 

numfmt參數取決於當前的文化。 因此,看起來你現在的文化支持另一種雙格式,例如「2345,45」。 更好的方法是使用一個超載的double.Parse()方法並明確指定文化。

一個合適的例子提供給您斯賓塞ķ

var sal = "23445.56"; 
Console.WriteLine(double.Parse(sal, System.Globalization.CultureInfo.InvariantCulture)*.02); 
+0

請通過使用示例告訴我如何,因爲我沒有做到這一點。我是一個編程新手,所以請不要對我不滿意,我真的需要幫助 – 2014-09-27 20:22:04

+0

尋找更新後。看着你的意見,我想你應該在編碼之前閱讀關於C#的東西。最好的新手是[Pro C#5.0和.NET 4.5框架](http://www.apress.com/9781430242338)Andrew Troelsen – Jonik 2014-09-27 20:40:05

0
string test = "2345.56"; 
double t; 

bool result = double.TryParse(test, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out t); 
MessageBox.Show(result ? "Worked! Value: " + t : "Didn't work."); 

如果是的TryParse成功轉換,結果將是真實的,並且double值將被存儲在t中。

+0

當我用這個例子沒有輸出此行 – 2014-09-27 19:29:11

0

這正常工作與.NET框架V4.5

string sal = "2345.56"; 
Console.Out.WriteLine(Convert.ToDouble(sal) * .02); 

結果:46.9112

+0

我已經安裝了.NET Framework v4.5.2但我仍然不看到任何變化 – 2014-09-27 19:28:01