Я использую специальный валидатор для сравнения значений в двух текстовых полях. Это сравнение значений нормально. Но он говорит, что "025" и "25" разные ... может это сделать сравнение с плавающей запятой.
пользовательский валидатор, который я использую,
<asp:CompareValidator id = "compval" runat = "server" ControlToValidate = "txtBox1"
ErrorMessage = "There values are not equal."
Enabled = "False" ControlToCompare = "txtBox2">*</asp:CompareValidator></TD>
Пожалуйста, дайте мне знать, возможно ли это.





использовать валидатор сравнения с типом int?
Используйте System.Double.Parse (value) для преобразования обоих в число с плавающей запятой и сравнения этих чисел.
Вы также можете использовать TryParse, если не хотите обрабатывать исключения, если значение не является допустимым числом с плавающей запятой.
Смотрите также:
Единственное, о чем я могу думать, не видя вашего кода проверки, - это то, что 025 интерпретируется как восьмеричное число (в C ставка нуля перед целым числом означает, что он находится в базе 8). Тогда 025 будет 21 по основанию 10, и ваши два числа не будут одинаковыми.
Я не уверен, как вы это додумались. Я протестировал несколько функций Parse (), и все они преобразуют строку «025» в base-10 25.
Думаю, вам нужно следующее (вопрос можно сформулировать немного яснее)
<asp:CompareValidator ID = "cv1" runat = "server" ControlToCompare = "txt1" ControlToValidate = "txt2" Operator = "Equal" Type = "Integer" ErrorMessage = "integers in txt1 and txt2 are not equal" />
вы можете указать, что * должно быть? Но я предполагаю, что вы используете один из методов Parse, а затем сравниваете