У меня есть строка, которая поступает из базы данных. Например, это 5.1. Я хочу преобразовать эту строку в double с помощью метода double.tryparse(). Я ожидаю, что результат будет 5.1, но это не так. Результат выглядит как 5.0999999999999996. Что я могу сделать для достижения этого, чтобы оно было 5.1?Double.TryParse показывает неправильный результат
ответ
Вместо двойной, сделайте следующее:
decimal.TryParse(s, out myDecimal);
или
decimal d = Convert.ToDecimal(s);
Поскольку десятичного с плавающей запятой вместо плавающей двоичную. Вот отличное объяснение: Difference between double and decimal
Любое объяснение, почему его код не удалось, было бы очень приятно узнать для автора. –
Это сделано ... downvoting не было действительно необходимо ... – cdie
Мне очень жаль, я сделал это случайно. Решение работает для меня. Большое спасибо. – user3894737
- 1. запросов показывает неправильный результат
- 2. MultiAutoCompleteTextView показывает неправильный результат
- 3. HermiT Reasoner показывает неправильный результат
- 4. Double.TryParse не возвращает правильный результат
- 5. Почему Process.GetProcessesByName ("msiexec") показывает неправильный результат?
- 6. Mysql внутреннее соединение запроса показывает неправильный результат
- 7. Powershell - формат номера показывает неправильный результат
- 8. тур в Smarty показывает неправильный результат
- 9. MySQL Spatial CONTAINS показывает неправильный результат
- 10. ebay API GetOrders показывает неправильный результат
- 11. Результат неправильный
- 12. php - date_default_timezone_get() - неправильный результат
- 13. double.TryParse buggy?
- 14. Ucfirst Returing Неправильный результат
- 15. Regex показывает неправильный ответ
- 16. Неправильный результат запроса
- 17. mysqli_fetch_field_direct неправильный результат
- 18. Camel AggregatonStrategy неправильный результат
- 19. DAO.QueryDef показывает неправильный результат в MS Access 2010
- 20. MySQL MAX показывает неправильный результат для связанных данных
- 21. Запрос Mysql для поиска отдельных строк показывает неправильный результат
- 22. Программа Matlab показывает неправильный результат в одной функции
- 23. Python hex decoding показывает неправильный результат для специальных чартеров
- 24. Пример в исходном коде демо-версии achartengine показывает неправильный результат
- 25. Фильтр продукта показывает неправильный результат admin product grid magento
- 26. Фильтры ListView Filter правильно, но показывает неправильный результат
- 27. три таблицы присоединиться и подсчет показывает неправильный результат
- 28. данные отправления возвращены true, но предупреждение показывает неправильный результат: почему?
- 29. Приложение Django uWSGI имеет неправильный результат datetime.today(), показывает начальную дату
- 30. Double.TryParse() игнорирует NumberFormatInfo.NumberGroupSizes?
Whis это 'varchar' в базе данных, а не' float'/'decimal'? Или вы используете код типа 'row [" ColumnName "]. ToString()' вместо 'row.Field (" ColumnName ")'? –
Значение 5.1 не может быть представлено точно в типе 'double'. Почему вы используете 'double' вместо' decimal'? – hvd
попробуйте преобразовать как десятичную, точную – cdie