
正文
c#中将字符串转换成带2位小数的浮点数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数
代码如下
string aaa = "";
string amount = string.Empty;
if (!string.IsNullOrEmpty(aaa) && (Regex.IsMatch(aaa, @"^[1-9]\d*|0$") || Regex.IsMatch(aaa, @"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$")))
amount = Convert.ToDecimal(aaa).ToString("F2");
else
{
amount = "0.00";
}
先判断字符串是否为空,再用正则表达式判断字符串时候可以转换为浮点数,不然下面的convert.todecimal函数会报错。这个正则表达式还真不好找,只好改成两个或语句,一个判断是否可以转成非负整数和正浮点数,反正下面的convert转换这种字符串都可以。如果有可以直接判断字符串可以转换成数字的,不管它带不带小数点的,可以告诉我。






