2014-02-07 105 views
4

您好我如何將括號格式的負值轉換爲雙倍值。目前我有這個。將括號(負數)轉換爲雙倍

Payment.Text = Calc_Payment().ToString("#,##0.00;(#,##0.00)"); 

將支付轉換爲括號格式但我想做相反的事。字符串的括號格式爲Double。如果有人可以幫忙請。

回答

7

請嘗試以下方法:

// using System.Globalization 
double d = double.Parse("(1,000.90)", NumberStyles.AllowParentheses | 
             NumberStyles.AllowThousands | 
             NumberStyles.AllowDecimalPoint) 

/* d = -1000.9 */ 

參考。 Double.Parse Method (String, NumberStyles); NumberStyles Enumeration

注意: 貨幣值更好地處理'十進制'類型。從documentation

相比於浮點類型,在小數類型有更高的精度和 一個較小的範圍內,這使得它適用於金融和貨幣 計算

+0

該死的,打我吧:)我打算說「槓桿框架」,併發布了或多或少相同的代碼,我刪去了,只是使用NumberStyles.Any – wulimaster

+0

:-)順便說一句,我添加了一個注意關於使用'decimal'而不是'double'作爲貨幣價值。 – wdosanjos