Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> преобразование string в double 
V
    Опции темы
kurzon
Дата 14.9.2010, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.8.2007

Репутация: 0
Всего: -11



Как преобразовать string в double?
Код

 double d = double.Parse(textBox2.Text);


Код

Error    1    Cannot implicitly convert type 'double' to 'int?'. An explicit conversion exists (are you missing a cast?)       



Это сообщение отредактировал(а) kurzon - 14.9.2010, 00:34
PM MAIL   Вверх
CYBERDREAM
Дата 14.9.2010, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



а точно ругается на эту строку?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Springtime
Дата 14.9.2010, 12:59 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: нет
Всего: 2



у тебя по всей видимости строка пустая, точнее ты туда нечего не прописывал, а если ты ни разу не прописывал значения в textBox2.Text, то содержания этого поле - null
юзай TryParse
http://www.rsdn.ru/forum/dotnet/2363647.flat.aspx
--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
CYBERDREAM
Дата 14.9.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



Сомневаюсь что textBox.Text==null  smile 
даже если строка пустая, то выкинет : 
Цитата

Input string was not in a correct format.

Думаю все таки автор ошибся строкой, где выдало ошибку, не спроста ведь упоминается int
Вот строка типа
Код

int d = Double.Parse("223"); 

выдаст как раз упомянутый в начале ексепшин


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
WolfAlone
Дата 16.9.2010, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Код

string str1="123";
double d1=0;
d1=Convert.ToDouble(str1);



--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
CYBERDREAM
Дата 16.9.2010, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



Цитата(WolfAlone @ 16.9.2010,  09:05)
Код

string str1="123";
double d1=0;
d1=Convert.ToDouble(str1);

а ты это к чему?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
WolfAlone
Дата 16.9.2010, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Это я к:
Цитата(kurzon @  14.9.2010,  00:31 Найти цитируемый пост)
Как преобразовать string в double?




--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
CYBERDREAM
Дата 16.9.2010, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



а разве его код не аналогично сработает?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
WolfAlone
Дата 16.9.2010, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Честно говоря, мне показалось, что его код не работает... И именно по этому он задал вопрос "Как преобразовать string в double?"...


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
CYBERDREAM
Дата 16.9.2010, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



Convert.ToDouble в конечном итоге вызывает Double.Parse так что разницы большой нет, дело выбора. Думаю автор ошибся в чем то другом

Добавлено через 4 минуты и 35 секунд
Например
Цитата

If you look at a decompilation of the Convert class you're going to find that most simple conversions map down to the .Parse method for a given type, for example, Convert.ToInt32 will simple wrap a call to int.Parse(). So, in most situations it will be faster to call int.Parse() instead of using the Convert class.

That applies to V1.x of the framework.  The problem with Parse() methods is they rely entirely on exception handling and can result in slightly slower performance. Also in some Convert methods you will notice more correct conversion code (such as code specifying a format provider for instance).

In the V2.x framework you will find .TryParse() methods that avoid the traditional try/catch reliance and will perform better than the classic .Parse methods. I've not decompiled any V2.x classes (too busy with work to care) but I would imagine the new Convert implementations make use of TryParse.

The answer? V1.x int.Parse() is a direct path most of the time, in V2.x use TryParse (especially with floating point types). In all cases Convert methods should perform worse if you're writing 'proper' code.



--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
WolfAlone
Дата 16.9.2010, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Цитата(CYBERDREAM @  16.9.2010,  10:13 Найти цитируемый пост)
Convert.ToDouble в конечном итоге вызывает Double.Parse так что разницы большой нет

Извините, не знал таких тонкостей! Просто проверил написанный мной код - всё работает. Код автора - не проверял.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
kurzon
Дата 16.9.2010, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.8.2007

Репутация: 0
Всего: -11



Я уже решил проблему.
PM MAIL   Вверх
CYBERDREAM
Дата 16.9.2010, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



а сказать миру и пометить как решенный?
Общественность ведь взволнована ошибкой

Это сообщение отредактировал(а) CYBERDREAM - 16.9.2010, 11:59


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
kurzon
Дата 16.9.2010, 19:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.8.2007

Репутация: 0
Всего: -11



2CYBERDREAM Я это уже сделал два дня назад, когда не было не одного ответа, какие претензии.
Я, что виноват, что люди не смотрят, что тема решенная.
Видно ты тоже не видишь.

Это сообщение отредактировал(а) kurzon - 16.9.2010, 19:53
PM MAIL   Вверх
kurzon
Дата 17.9.2010, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.8.2007

Репутация: 0
Всего: -11



Мене нужно было до базы данных добавить дробовое число, типа real, нужно перевести в тип float, но сначала в Double, так как сразу перевести невозможно в float, а real не совместимый с  Double.
Сначала хотел реализовать с помощью TextBox, а потом решил обойтись numericUpDown.
 
Код

numericUpDown1.DecimalPlaces = 2;
float d = (float)Convert.ToDouble(numericUpDown1.Value);

Таким образом решил проблему.

Это сообщение отредактировал(а) kurzon - 17.9.2010, 00:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1148 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.