将字符串值转换为十进制两位数

时间:2017-12-03 14:45:38

标签: c#

我想转换这个"价格"变量字符串到标准的两位数60.00十进制值。怎么可能?任何现成的方法可用吗?提前谢谢

string price = "60.0000";
decimal _price = //asign value here. format will be 60.00

2 个答案:

答案 0 :(得分:1)

您可以先解析price,然后使用Round方法,您可以在其中指定所需的小数位数:

decimal _price = Math.Round(decimal.Parse(price),2);

答案 1 :(得分:0)

您可以尝试三种方式: 第一:

string price = "60.0000";
decimal _price = Math.Round(Convert.ToDecimal(price),2);

第二

string price = "60.0000";
decimal _price = Math.Round(Decimal.Parse(price),2);

或者由于防止错误而推荐的第三个也是最受推荐的:

string price = "60.0000";
decimal _price;
Decimal.TryParse(price, out _price);
_price = Math.Round(_price, 2);

在第三种方式中,您可以在开头将_price分配给某些不切实际的价格,例如

decimal _price = -9999;

当价格不是一个可以在_price中转换成十进制的数字时,将是-9999并且你知道存在一些问题。