C# 将括号(负片)转换为双精度

C# 将括号(负片)转换为双精度,c#,C#,您好,如何将括号格式的负值转换为双精度。目前我有这个 Payment.Text = Calc_Payment().ToString("#,##0.00;(#,##0.00)"); 这将付款转换为括号格式,但我想做相反的事情。括号格式的字符串为双精度。如果有人能帮忙的话 请尝试以下操作: // using System.Globalization double d = double.Parse("(1,000.90)", NumberStyles.AllowParentheses |

您好,如何将括号格式的负值转换为双精度。目前我有这个

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

这将付款转换为括号格式,但我想做相反的事情。括号格式的字符串为双精度。如果有人能帮忙的话

请尝试以下操作:

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

/* d = -1000.9 */
参考文献

注意: “十进制”类型更好地处理货币值。从:

与浮点类型相比,十进制类型具有更高的精度 范围较小,这使其适用于财务和 货币计算

该死的,比我快:)我想说“利用框架”,然后发布或多或少相同的代码,我删掉了,只是使用了数字样式。任何:-)顺便说一句,我添加了一条关于使用
decimal
而不是
double
表示货币价值的注释。