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转换这种字符串都可以。如果有可以直接判断字符串可以转换成数字的,不管它带不带小数点的,可以告诉我。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM