Мне понадобился день, чтобы выяснить, что один из операторов if возвращает true для строкового значения.Почему double.TryParse ("6E02", out tempDouble) возвращает true?
Мы анализируем, является ли значение числом или строкой. Я узнал, что этот оператор используется, и когда значение строки приходит как 6E02, оператор возвращает true, что это двойное значение.
var double temp;
var val ="6E02"
result = double.TryParse(val, out temp)
Как я могу решить эту проблему, чтобы вернуть результат ложных строк, как (Number) E0 (номер)
Легкий способ я считаю, чтобы проверить текст первого, если он содержит E0 и если он просто возвращает false. Но есть ли лучший способ обработки этого или другого встроенного метода для замены метода?
Я думаю, что синтаксический анализ для первого является, вероятно, вашим лучшим вариантом, поскольку 6E02 является действительным представлением двойника. –
Знаете ли вы об экспоненциальной нотации? –
Я предполагаю, что ваше название неверно. 'E02' не вернет true, но' 6E02' будет, согласно @ Andrew ответить – DavidG