我正在使用自定义验证器来比较两个文本框中的值。这是比较好的价值。但是它说“025”和“25”是不同的......这可以进行浮点比较。
我使用的自定义验证器是
<asp:CompareValidator id="compval" runat="server" ControlToValidate="txtBox1"
ErrorMessage="There values are not equal."
Enabled="False" ControlToCompare="txtBox2">*</asp:CompareValidator></TD>
如果可能,请告诉我。
答案 0 :(得分:1)
使用System.Double.Parse(value)将两者转换为浮点数,并比较这些数字。
如果您不希望在值不是有效浮点数时处理异常,也可以使用TryParse。
另见:
答案 1 :(得分:1)
在没有看到验证码的情况下我唯一能想到的是025被解释为八进制数(在C中,在整数之前将零置于基数8中)。然后025将在基数10中为21,而你的两个数字将不相同。
但是,我不确定你是怎么想出来的。我测试了一些Parse()函数,它们都将字符串“025”转换为base-10 25。答案 2 :(得分:1)
我想以下是你需要的(问题可以说得更清楚)
<asp:CompareValidator ID="cv1" runat="server" ControlToCompare="txt1" ControlToValidate="txt2" Operator="Equal" Type="Integer" ErrorMessage="integers in txt1 and txt2 are not equal" />
答案 3 :(得分:0)
使用类型为int的比较验证器?