![]() |
|
Модераторы: gambit |
![]()
|
|
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
Делаю запрос для БД SQL Server Express 2005. Читаю его с помощью SqlDataReader r. Файл располагается у меня на машине. Возвращаю значение одного поля типа real. Если сделать ToString, то вернёт число с точкой, где точка - разделитель целой и дробной части. У меня на машине в настройках в качестве разделителя указана запятая. Дальше пытаюсь сделать double.Parse(r["somefield"]).ToString()) и (double)r["somefield"], оба способа кидают эксцепшн. Приходится делать через double.Parse с указанием в NumberInfo (или как там этот класс называется) точки в качестве разделителя. Но меня этот способ бесит и поэтому не устраивает. Как прочитать real правильно и почему он возвращается у меня с точкой? Кстати, нужно будет посмотреть объект какого класса возвращает мне датааридер.
-------------------- ![]() |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
Bogdan1024, как вариант - заменять в строке все точки и запятые на текущий системный разделитель, а затем уже скармливать Double.Parse...
-------------------- СУВ, Partizan. |
|||
|
||||
| emmanuil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 9.1.2007 Репутация: 1 Всего: 3 |
Эти методы тоже выдают ошибку?
Это сообщение отредактировал(а) emmanuil - 19.2.2009, 05:35 |
|||
|
||||
| jonie |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 8 Всего: 118 |
может у вас там и не float вовсе, а строка возвращается? ибо, если возращается число, зачем его переводить в String, а затем снова парсить в double ? -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
Оказывается, оно возвращало float. Если использовать GetFloat, то всё нормально. Не понимаю почему оно сразу к дабл не кастит, ну ладно. Я думал что real представляется в дотнете даблом, а не флоатом.
Тоесть:
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |