首页 > 解决方案 > 如果没有剩余“,”或“。”,请按数字添加额外的 ,00

问题描述

我的问题在于,如果用户写 200 那么它就会出错。

但这个错误只是因为我写了 200。

我尝试了不同的方法,导致它只批准数字 200,如果是的话。

我的模型:

[Required(ErrorMessage = "Money")]
[RegularExpression(@"\d+(\.\d{1,2})?", ErrorMessage = "Error")]
[Range(0, 99999.99, ErrorMessage ="Error")]
[DataType(DataType.Text)]
[Display(Name = "Money")]
public string Pay { get; set; }

在我的 CompaniesController 中,我从“Pay”中获得价值

decimal PayValue = model.Pay.ToString().PayValue();

因此,在 PayValue 中,我这样做是为了将价格与必须在两个数字之间扔“,”的比例分开。

public static decimal PayValue(this string str)
    {
        string[] pay;
        pay = str.ToString().Split('.');
        return Convert.ToDecimal(pay[0] + "," + pay[1]);
    }

在这里,我希望它能够顺利通过并取得成功。

因此,我想如果客户在上面写了两个数字,那么它必须自己添加,00 ,前提是在整数之后没有添加 ,00。

如果我只写 200,代码就会失败,我想要的是它必须通过,甚至在数字后添加 ,00。

标签: c#

解决方案


推荐阅读