c#中将字符串转换成带2位小数的浮点数

今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数

代码如下

1 string aaa = "120";
2 string amount = string.Empty;
3 if (!string.IsNullOrEmpty(aaa) && (Regex.IsMatch(aaa, @"^[1-9]\d*|0$") || Regex.IsMatch(aaa, @"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$")))
4     amount = Convert.ToDecimal(aaa).ToString("F2");
5 else
6 {
7     amount = "0.00";
8 }

先判断字符串是否为空,再用正则表达式判断字符串时候可以转换为浮点数,不然下面的convert.todecimal函数会报错。这个正则表达式还真不好找,只好改成两个或语句,一个判断是否可以转成非负整数和正浮点数,反正下面的convert转换这种字符串都可以。如果有可以直接判断字符串可以转换成数字的,不管它带不带小数点的,可以告诉我。

posted on 2018-07-13 14:32  御行所  阅读(12971)  评论(0编辑  收藏  举报

导航