首页 新闻 会员 周边 捐助

c#中字符串转decmail问题

0
[待解决问题]

有个字符串是“1,2”,期望是转decmail失败,但是实际上转成功了,要怎么解决

灬丶的主页 灬丶 | 初学一级 | 园豆:6
提问于:2023-05-26 17:35
< >
分享
所有回答(2)
0

bool valid = decimal.TryParse("1,2", System.Globalization.NumberStyles.Float, null, out decimal v);

第二个参数是允许的数字格式,如小数点、科学计数法等,自己按需求拼一个枚举值出来

lunoctis | 园豆:402 (菜鸟二级) | 2023-05-26 19:10
-1

在C#中,将字符串转换为decimal类型时,如果字符串包含逗号分隔符,它将被视为有效的数字分组符号。因此,字符串"1,2"会被解释为有效的数字,并成功转换为decimal类型。

如果您希望在转换时出现错误,可以使用decimal.TryParse方法进行转换,并检查转换的结果。decimal.TryParse方法尝试将字符串转换为decimal类型,如果转换成功,则返回true并将转换结果存储在提供的变量中。如果转换失败,则返回false,并将变量的值设置为0。

以下是使用decimal.TryParse方法进行转换并检查的示例代码:

csharp
Copy code
string str = "1,2";
decimal result;
if (decimal.TryParse(str, out result))
{
// 转换成功
Console.WriteLine("转换成功,结果为: " + result);
}
else
{
// 转换失败
Console.WriteLine("转换失败");
}
在上述示例中,如果字符串"1,2"无法转换为decimal类型,将输出"转换失败"。

Technologyforgood | 园豆:7541 (大侠五级) | 2023-05-30 23:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册